1. 程式人生 > 實用技巧 >建構函式的執行機制

建構函式的執行機制

function fn(name, age) {
        this.name = name;
        this.age = age + n;
    }
 var f = new fn("xxx", 18);

建構函式簡單的執行機制分為四個部分

第一步 => 首先形成一個私有的作用域(棧記憶體)

第二步 => (建構函式獨有) 在js程式碼自上而下執行之前,首先在當前形成的私有棧中建立一個物件(建立一個堆記憶體:暫時不儲存任何東西),並且讓函式中的執行主體(this)執行那個這個新的堆記憶體(this==建立的物件) 第三步 => 程式碼自上而下執行 第四步 => (建構函式獨有) 程式碼執行完成,把之前建立的堆記憶體地址返回(瀏覽器預設返回) 注意:建構函式執行,不寫return,瀏覽器會預設返回建立的例項,但是如果寫return 1、return一個基本型別值。返回的結果依然是類的例項,沒有受到影響 2、return一個引用值,則會把預設返回的例項覆蓋,此時接收到的結果就不再是那個例項了 建構函式執行的時候,儘量減少return的使用,防止覆蓋例項