本文主要介紹了js中new一個物件的過程。具有很好的參考價值,以下跟著小編一起來看下吧
使用new關鍵字呼叫函數(new ClassA(…))的具體步驟:
#1. 建立空對象{}
#2. 使用新對象,呼叫函數,函數中的this被指向新實例對象:
{}.建構子();
3.設定新物件設定新物件設定新物件。的constructor屬性為建構函式的名稱,設定新物件的__proto__屬性指向建構函式的prototype物件
4. 將初始化完畢的新物件位址,儲存到等號左邊的變數中
注意:若建構函式中沒有傳回值或傳回值是基本型別(Number、String、Boolean)的值,則傳回新實例物件;若傳回值是引用型別的值,則實際傳回值為這個參考型別。
var foo = "bar"; function test () { this.foo = "foo"; } new test(); //test中的this指新对象,并未改变全局的foo属性 console.log(this.foo); // "bar" console.log(new testThis().foo); // "foo";new和属性访问.运算符优先级相通,从左往右执行
以上皆為個人理解,如有錯誤之處,歡迎留言指正。
更多js中new一個物件的過程相關文章請關注PHP中文網!