例如,以下代碼創(chuàng)建了一個(gè)名為 Person 的構(gòu)造函數(shù)制妄。
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function() {
console.log("Hello, my name is " + this.name + ", I'm " + this.age + " years old.");
};
}
要使用 new 運(yùn)算符創(chuàng)建一個(gè) Person 對(duì)象滑凉,可以這樣寫(xiě):
const obj = new Person("Alice", 20);
new Person() 會(huì)執(zhí)行如下步驟:
1番舆、創(chuàng)建一個(gè)新的空對(duì)象 obj吨凑;
2捍歪、將 obj 的原型鏈指向 Person.prototype;
3鸵钝、執(zhí)行 Person 函數(shù)糙臼,并且將 obj 綁定到 this 上下文,因此 this 引用了 obj恩商;
4变逃、返回 obj 對(duì)象。
5怠堪、通過(guò)這個(gè)過(guò)程揽乱,我們可以創(chuàng)建一個(gè)新的對(duì)象并且將其屬性、方法與一個(gè)構(gòu)造函數(shù)實(shí)例綁定在一起粟矿,方便進(jìn)行對(duì)象方法的調(diào)用凰棉。