Javascript IE8 getPrototypeOf方法

Javascript IE8 getPrototypeOf方法,javascript,internet-explorer,dojo,Javascript,Internet Explorer,Dojo,非常简单: 我有一些代码使用Object.getPrototypeOf(…)来获取Dojo小部件的继承类(只是一个JS对象)对象。IE8不支持getPrototypeOf(…)。我需要一份工作。有什么想法吗?提前感谢。使用Dojo.declared创建的类将元数据与其超类一起存储,因此您不需要使用getPrototypeOf 我想你可以用它得到第一个超类 MyClass.prototype.constructor._meta.bases[1] 以及它的原型 MyClass.prototype.

非常简单:


我有一些代码使用
Object.getPrototypeOf(…)
来获取Dojo小部件的继承类(只是一个JS对象)<代码>对象。IE8不支持getPrototypeOf(…)。我需要一份工作。有什么想法吗?提前感谢。

使用Dojo.declared创建的类将元数据与其超类一起存储,因此您不需要使用getPrototypeOf

我想你可以用它得到第一个超类

MyClass.prototype.constructor._meta.bases[1]
以及它的原型

MyClass.prototype.constructor._meta.bases[1].prototype
(bases[0]似乎就是类本身)


尽管你为什么需要得到原型?您很可能会重新实现dojo已经提供的某些功能。声明Jon Resig的polyfill作品

我把它做得更小了

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;
        };
使用。除其他外,它还支持


来源:

John Resig的博客文章应该会有所帮助:就是这样。给这个坏孩子一个答案,我就接受。谢谢您。