創(chuàng)建js 對(duì)象的一種方式就是new ,那么new 究竟做了什么呢?
function Person () {
this.name = name;
this.age = age;
this.sex = sex
this.sayName = function () {
return this.name;
};
}
var person = new Person("bianbumei", 40-1, "famle");
console.log(person.name);
使用關(guān)鍵字new創(chuàng)建新實(shí)例對(duì)象經(jīng)過了以下幾步:
- 創(chuàng)建一個(gè)新對(duì)象
- 將新對(duì)象的proto指向構(gòu)造函數(shù)的prototype對(duì)象
- 將構(gòu)造函數(shù)的作用域賦值給新對(duì)象 (也就是this指向新對(duì)象)
- 執(zhí)行構(gòu)造函數(shù)中的代碼(為這個(gè)新對(duì)象添加屬性)
- 返回新的對(duì)象