IE6 +上的Object.create

时间:2013-10-05 11:08:13

标签: javascript object

我有一点问题,因为我使用Object.create编写了我的插件,它只在IE9 +上工作。

我的插件定义:

$.fn.MYPL = function (options) {
    return this.each(function () {
        myplg = Object.create(MYPL);
        myplg.init(options, this);
    });
};

但在每个JS代码之前我都有以下内容:

if (typeof Object.create !== "function") {
    Object.create = (function () {
        function F() {} // created only once
        return function (o) {
            F.prototype = o; // reused on each invocation
            return new F();
        };
    })();
}

它在IE9 +上工作正常,但IE6和IE7(甚至IE8)似乎不支持Object.create或者什么?我错过了吗?

2 个答案:

答案 0 :(得分:0)

检查维基百科的JavaScript version history。如果您找到1.8.5版本 - 这是您可以找到此对象工厂方法的语言版本 - 第9版Internet Explorer是支持该版本的版本。

ECMAScript 5 Compatibility Table也有此信息。

您也可以尝试使用Microsoft的IE虚拟机之一(可从here获得,或者对于非常旧版本的IE,Multiple IE

来自From which version, IE can support Object.create(null)?

答案 1 :(得分:0)