栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/245825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号