var person = {
name: "Neo",
friends: ["Toby", "Tina"]
}
function createOtherPerson(person) {
// Object.create 可以是任何返回对象的函数
var clone = Object.create(person);
clone.sayName = function () {
console.log(this.name);
}
return clone;
}
var neo = createOtherPerson(person);
neo.sayName();
输出结果:
输出结果在主要考虑对象而不是自定义类型和构造函数的情况下,寄生式继承也是一种有用的模式。Object.create 函数不是必需的,任何能够返回新对象的函数都适用于此模式。
网友评论