寄生构造函数模式
# 寄生构造函数模式
寄生构造函数模式的基本思想是创建一个函数,该函数的作用仅仅是封装创建对象的代码,然后再返回新创建的对象;但从表面上看,这个函数又很像是典型的构造函数。
function Person(name, age, job){
let obj = new Object();
obj.name = name;
obj.age = age;
obj.job = job;
obj.sayName = function(){
console.log(`I'm ${this.name}`);
};
return obj;
}
let uzi = new Person('Uzi', 22, 'E-Sports Player');
uzi.sayName();
// I'm Uzi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
在构造函数的末尾添加一个 return
语句,可以重写调用构造函数时返回的值。
关于寄生构造函数模式,有一点需要说明:首先,返回的对象与构造函数或者与构造函数的原型属性之间没有关系。也就是说,构造函数返回的对象与构造函数外部创建的对象没有什么不同。为此,不能依赖 instanceof
操作符来确定对象类型。
上次更新: 2024/08/14, 04:14:33