1. 程式人生 > >JavaScript new物件的四個過程

JavaScript new物件的四個過程

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