JavaScript Object.create()方法
Object.create() 方法用于创建一个具有指定原型对象和属性的新对象。我们可以通过Object.create(null)创建一个没有原型的对象。
语法:
Object.create(prototype[, propertiesObject])
参数
prototype(原型) :它是一个需要创建新对象的原型对象。
propertiesObject(属性对象) :它是一个可选参数。它指定要添加到新创建对象的可枚举属性。
返回值
Object.create()返回一个具有指定原型对象和属性的新对象。
浏览器支持:
Chrome | Yes |
---|---|
Edge | Yes |
Firefox | Yes |
Opera | Yes |
示例1
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"
示例2
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"
示例3
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"