Object.create兼容问题

在写object.create(obj)兼容代码时,怎么写的代码在ie8下还是运行不了,看MDN的兼容浏览器,上面说的ie9是可以使用object.create,那么写的兼容代码在ie8下怎么不行呢?

 Object.prototype.create = function(obj) {    if (typeof obj != 'object') {
 //如果 obj 参数不是 nll 或一个对象值,则抛出一个 TypeError 异常。
        throw TypeError('Object prototype may only be an Object or null');
    }    if(Object.prototype.create) {        return Object.prototype.create; //浏览器支持就直接返回
    }else {
        alert(11);        function Temp() {}//创建一个临时性的构造函数
        Temp.prototype = obj; //传入的参数作为构造函数的原型
        return new Temp(); //返回临时类型的一个新实例
    }
};var a = Object.create({x: 1, y: 2});
alert(a.x);


江户川乱折腾
浏览 547回答 1
1回答

慕村225694

Object.prototype.create = Object.prototype.create || function(obj){};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript