很简单:
我有代码Object.getPrototypeOf(...)
用于获取 Dojo Widget 的继承类(只是一个 JS 对象)。Object.getPrototypeOf(...)
IE8 不支持。我需要一个 IE 解决方法。有任何想法吗?提前致谢。
很简单:
我有代码Object.getPrototypeOf(...)
用于获取 Dojo Widget 的继承类(只是一个 JS 对象)。Object.getPrototypeOf(...)
IE8 不支持。我需要一个 IE 解决方法。有任何想法吗?提前致谢。
Jon Resig 的 polyfill 工作 http://ejohn.org/blog/objectgetprototypeof/
我把它做得更小了
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;
};
使用 Dojo.declared 创建的类及其超类存储元数据,因此您不需要使用 getPrototypeOf。
我认为你可以得到第一个超类
MyClass.prototype.constructor._meta.bases[1]
及其原型
MyClass.prototype.constructor._meta.bases[1].prototype
(bases[0] 似乎是类本身)
虽然你为什么甚至需要得到原型?您很可能最终会重新实现 dojo.declare 已经提供的某些功能