js中new一個對象的過程
使用new關(guān)鍵字調(diào)用函數(shù)(new ClassA(…))的具體步驟:
1. 創(chuàng)建空對象{}
2. 使用新對象,調(diào)用函數(shù),函數(shù)中的this被指向新實例對象:
{}.構(gòu)造函數(shù)();
3. 設(shè)置新對象的constructor屬性為構(gòu)造函數(shù)的名稱,設(shè)置新對象的__proto__屬性指向構(gòu)造函數(shù)的prototype對象
4. 將初始化完畢的新對象地址,保存到等號左邊的變量中
注意:若構(gòu)造函數(shù)中沒有返回值或返回值是基本類型(Number、String、Boolean)的值,則返回新實例對象;若返回值是引用類型的值,則實際返回值為這個引用類型。
var foo = "bar"; function test () { this.foo = "foo"; } new test(); //test中的this指新對象,并未改變?nèi)值膄oo屬性 console.log(this.foo); // "bar" console.log(new testThis().foo); // "foo";new和屬性訪問.運算符優(yōu)先級相通,從左往右執(zhí)行
以上皆為個人理解,如有錯誤之處,歡迎留言指正。
希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
JavaScript實現(xiàn)的SHA-1加密算法完整實例
這篇文章主要介紹了JavaScript實現(xiàn)的SHA-1加密算法,以完整實例形式分析了SHA-1加密算法的具體實現(xiàn)技巧,需要的朋友可以參考下2016-02-02javascript數(shù)組中的reduce方法和pop方法
這篇文章主要介紹了javascript數(shù)組中的reduce方法和pop方法,文章內(nèi)容介紹詳細(xì),具有一定的參考價值需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-03-03js實現(xiàn)統(tǒng)計字符串中特定字符出現(xiàn)個數(shù)的方法
這篇文章主要介紹了js實現(xiàn)統(tǒng)計字符串中特定字符出現(xiàn)個數(shù)的方法,涉及javascript針對字符串中字符運算操作相關(guān)技巧,需要的朋友可以參考下2016-08-08addeventlistener監(jiān)聽scroll跟touch(實例講解)
下面小編就為大家?guī)硪黄猘ddeventlistener監(jiān)聽scroll跟touch(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08