📅  最后修改于: 2020-10-25 11:40:15             🧑  作者: Mango
Object.create()方法用于创建具有指定原型对象和属性的新对象。我们可以通过Object.creates(null)创建没有原型的对象。
Object.create(prototype[, propertiesObject])
prototype:它是必须从中创建新对象的原型对象。
propertiesObject:这是一个可选参数。它指定要添加到新创建对象的可枚举属性。
Object.create()返回具有指定原型对象和属性的新对象。
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
const people = {
printIntroduction: function ()
{
console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);
}
};
const me = Object.create(people);
me.name = "Marry"; // "name" is a property set on "me", but not on "person"
me.isHuman = true; // inherited properties can be overwritten
me.printIntroduction();
输出:
"My name Marry. Am I human? true"
function fruits() {
this.name = 'franco';
}
function fun() {
fruits.call(this)
}
fun.prototype = Object.create(fruits.prototype);
const app = new fun();
console.log(app.name);
输出:
"franco"
function fruits() {
this.name = 'fruit';
this.season = 'Winter';
}
function apple() {
fruits.call(this);
}
apple.prototype = Object.create(fruits.prototype);
const app = new apple();
console.log(app.name,app.season);
console.log(app.season);
输出:
"fruit"
"Winter"
"Winter"