美文网首页
js-Object.create()

js-Object.create()

作者: 嘿喵heyMeow | 来源:发表于2017-02-24 16:50 被阅读0次

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

    语法
    Object.create(prototype, descriptors)
    
    • 参数
      prototype:要用作原型的对象,可以为 null
      descriptors(可选):包含一个或多个属性描述符的 JavaScript 对象
    返回值

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

    示例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();
        }
    }
    

    相关文章

      网友评论

          本文标题:js-Object.create()

          本文链接:https://www.haomeiwen.com/subject/ugswwttx.html