美文网首页
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()

    Object.create() 是用来创建一个指定原型对象的对象。 语法 参数prototype:要用作原型的对象...

  • js-Object.create

    创建一个新对象: 1.new Object()2.对象字面量创建:{}3.Object.create(); 从例子...

网友评论

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

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