0

javascript 新手:Internet Explorer 8 不支持 object.create(),下面是一个示例:

var tilo = Object.create(Person); 

好的,所以 IE 不支持它。接下来我该怎么办?我应该创建 2 个不同的 javascript 文件.. 一个用于 Firefox,一个用于 IE 吗?

4

1 回答 1

6

从 MDN 的文档中,使用这个:

if (!Object.create) {
    Object.create = (function () {
        var F = function(){};

        return function (o) {
            if (arguments.length !== 1) {
                throw new Error('Object.create implementation only accepts one parameter.');
            }
            F.prototype = o;
            return new F();
        };
    }());
}

您尝试使用 Object.create. 它检测它是否本机可用;如果不是,则使用此自定义代码使其可用。从技术上讲,这应该可以在任何浏览器中使用。

你不应该为特定的浏览器制作脚本文件;浏览器版本的功能支持不同...这就是为什么您应该始终使用功能检测(如此代码)。Internet Explorer 9 支持此功能,因此您不应一概而论 IE 需要它。

参考:

于 2013-07-19T21:12:19.047 回答