JavaScript new物件的四個過程
阿新 • • 發佈:2018-12-19
JavaScript new物件的四個過程
本文例項講述了JavaScript new物件的四個過程。分享給大家供大家參考,具體如下:
new物件:
function Person(name, age) {
this.name = name;
this.age = age;
}
var person = new Person("Alice", 23);
new一個物件的四個過程:
1、申請空間,建立一個空物件
var obj = new Object();
2、改變this指標指向,讓Person中的this指向obj,並執行Person的函式體
var result = Person.call(obj);
3、設定原型鏈,將person的_proto屬性指向Person.prototype原型物件,完成繼承
obj.__proto__ = Person.prototype;
4、判斷Person的返回值型別,如果是值型別,返回obj。如果是引用型別,就返回這個引用型別的物件。【或者理解為:返回完成繼承的物件(此物件已擁有Person的屬性並可使用Person.prototype的方法)】
if (typeof(result) == "object")
person = result;
else
person = obj;
此外,prototype原型物件可以理解為一個共享空間,儲存了一些方法和屬性,提供給prototype.constructor建構函式例項的物件使用,有效節省內容。
轉載自:https://www.jb51.net/article/144793.htm