js-Object.create()

2017-02-24  本文已影响0人  嘿喵heyMeow

Object.create() 是用来创建一个指定原型对象的对象。

语法
Object.create(prototype, descriptors)
返回值

返回的是一个指定原型对象的对象。

示例1
var obj = {a:1};
var o = Object.create(obj);
console.log(o);
输出结果1

新创建的对象o是一个以obj为原型对象的对象。

示例2
var obj = {a:1};
var o = Object.create(null, {
    name:{
        value:"lily",
        enumerable: true
    },
    age:{
        value:15,
        enumerable: true
    }
});
console.log(o);
输出结果2

新创建的对象o是一个具有name和age两个属性的对象。

兼容

Object.create()是ES5定义的,也存在兼容性问题,IE6-8都不兼容可以这样处理兼容问题:

function createObj(obj){
    if(Object.create){
        return Object.create(obj);
    }else{
        function Fn(){};
        Fn.prototype = obj;
        return new Fn();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读