为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript创建对象之Object.create()方法

Object.create()

Object.create()方法会继承指定的原型对象的属性和方法去创建一个新的对象。该方法接收两个参数,其中第一个参数是这个新创建的对象的原型,第二个是可选参数,与Object.definePropertperties()方法的第二个参数格式相同。

Object.definePropertperties()的用法可参考:JavaScript中的对象

例子:

var obj = {
    name: "Tom",
    age: 20,
    family: ["mama", "baba"]
};
var person = Object.create(obj, {
    "job": {
        value: "IT",
        congigurable: true,
        enumerable: true,
        writable: false
    },
    "age": {
        value: 18,
        congigurable: true,
        enumerable: true,
        writable: false
    }
});
person.family.push("yeye");
person.family.push("nainai");

console.log(person.name);
console.log(person.age);
console.log(person.job);
console.log(person.family);
console.log(person.family == obj.family);
//输出:Tom、18、IT、[mama,baba,yeye,nainai]、true

如果只传入第一个参数,使用Object.create() 方法创建对象的过程与下面函数 obj 的执行结果相同。

例子:

function obj(o) {
    function Fn() {};
    Fn.prototype = o;
    return new Fn();
}

var person = {
    job: "IT"
}
var p1 = obj(person);

var p2 = Object.create(person);

console.log(p1.job);
console.log(p1.job);
console.log(p1.job == p2.job);
//输出:IT、IT、true

文中的代码部分,带有“例子”和“测试代码”字样的,只是用来学习或测试某一功能用的代码,不可以直接用于项目的开发中。带有“代码如下”字样的,都是经过本人测试,简单修改即可用于项目开发中的代码,如有错误,欢迎指出。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消