js-Object.create()

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();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,454评论 3 12
  • 大学是用来修炼自身的,充分利用这四年,使自己变的更好,等待未来的风景,未来的人。
    灵怡珊珊阅读 181评论 0 0