天天看點

new關鍵字執行過程的簡單了解new關鍵字執行過程的簡單了解

new關鍵字執行過程的簡單了解

demo:

//定義構造函數Fn
function Fn(a, b) {
    this.a = a;
    this.b = b;
    this.add = function() {
        console.log(a + b);
    }
}

//通過關鍵字new建立對象
var fn = new Fn(1, 2)
fn.add()  //3
           

new關鍵字執行過程:

當 new Fn() 時,會建立一個空對象,在堆記憶體中開辟一塊空間來存儲對象執行個體

new關鍵字執行過程的簡單了解new關鍵字執行過程的簡單了解

對象執行個體的原型指向構造函數 Fn() 的 prototype 屬性

構造函數 Fn() 中的 this 關鍵字指向開辟的空間,this 關鍵字向記憶體空間中添加屬性和方法

new關鍵字執行過程的簡單了解new關鍵字執行過程的簡單了解

将對象執行個體指派給變量 fn ,棧記憶體中的變量 fn 指向堆記憶體中開辟的空間,可以操控空間中的資料

new關鍵字執行過程的簡單了解new關鍵字執行過程的簡單了解

繼續閱讀