非常简单:
我使用Object.getPrototypeOf(...)
编写代码来获取Dojo Widget的继承类(只是一个JS对象)。 IE8不支持Object.getPrototypeOf(...)
。我需要一个IE工作。有任何想法吗?提前谢谢。
答案 0 :(得分:11)
我做得更小
if (typeof Object.getPrototypeOf !== "function")
Object.getPrototypeOf = "".__proto__ === String.prototype
? function (object) {
return object.__proto__;
}
: function (object) {
// May break if the constructor has been tampered with
return object.constructor.prototype;
};
答案 1 :(得分:2)
答案 2 :(得分:0)
使用Dojo.declared使用超类存储元数据创建的类,因此您不需要使用getPrototypeOf。
我认为你可以用
获得第一个超类MyClass.prototype.constructor._meta.bases[1]
及其原型
MyClass.prototype.constructor._meta.bases[1].prototype
(bases [0]似乎是班级本身)
虽然为什么你甚至需要获得原型?很可能你最终会重新实现dojo.declare已经提供的一些功能