javascript新手:Internet Explorer 8不支持object.create(),下面是一个示例:
var tilo = Object.create(Person);
好的,IE不支持。接下来我该怎么办?我应该创建两个不同的javascript文件吗。。一个用于Firefox,一个用于IE?
从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
之前,请将其包含在您的页面上。它检测它是否在本机上可用;如果不是,它将通过使用此自定义代码使其可用。从技术上讲,这应该可以在任何浏览器中使用。
您永远不应该为特定的浏览器制作脚本文件;浏览器版本在功能支持方面有所不同。。。这就是为什么您应该始终使用特征检测(如此代码)。InternetExplorer9支持这一点,所以你不应该笼统地认为IE需要它
参考:
Object.create
polyfill:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create#Polyfill- 特征检测:浏览器检测与特征检测