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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦