IE8 getPrototypeOf method
IE8 getPrototypeOf method
很简单:
我有使用 Object.getPrototypeOf(...)
的代码来获取 Dojo 小部件(只是一个 JS 对象)的继承类。 IE8 不支持Object.getPrototypeOf(...)
。我需要一个IE解决方法。有什么想法吗?提前谢谢。
Jon Resig's polyfill workshttp://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;
};
使用 https://github.com/kriskowal/es5-shim。除此之外,它还支持Object.getPrototypeOf。
来源:来自 Modernizr 项目的 ECMAScript 5 polyfills
使用
Dojo.declare 创建的类将元数据与其超类一起存储,因此您不需要使用 getPrototypeOf。
我认为你可以得到第一个超类
MyClass.prototype.constructor._meta.bases[1]
及其原型
MyClass.prototype.constructor._meta.bases[1].prototype
(bases[0] 似乎是类本身)
虽然你为什么甚至需要得到原型?很可能你最终会重新实现 dojo.declare 已经提供的一些功能。
相关文章:
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- 当method=post时,jQueryAjax返回404
- 调用laravel{{action(Controller@method}}通过传递vue.js数组中的变量
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- JavaScript Loop to setData method
- Extending jQuery.fn.method
- Javascript - jQuery preventDefault method
- 如何显示Ajax Get-Method中的数据
- Javascript method win.validate();
- fine uploader uploadStoredFiles method
- jQuery deferred method and ajax beforeSend()
- 调用Action Method,关闭对话框并刷新父项
- JavaScript "Object Method"
- JavaScript Post Method
- 方法不允许 — 从 Angularjs 中的请求标头中删除 Access-Control-Request-Method
- 理解ReactJS中的.method.bind(null,..)
- JavaScript, Page Method, and Gridview
- 从Meteor.method中的回调返回值
- NodeJS - jQuery DELETE Method
- JavaScript replace() Method