new操作符
new操作符主要用於產生一個對象實例,當我們new一個對象的時候,new操作其實做了以下幾個工作:
- 創建一個新對象
- 將新對象的_proto_指向構造函數的prototype對象
- 將構造函數的作用域賦值給新對象 (也就是this指向新對象)
- 執行構造函數中的代碼(爲這個新對象添加屬性)
- 返回新的對象
代碼如下:
var Person = function(name, age){
this.name = name;
this.age = age;
this.sayHello = function(){
console.log("hello, I am " + name);
}
};
var p1 = new Person('張三', 18);
圖示: