摘要:它不參與對象的構造,也就是說這個屬性只是存儲了構造函數的映像而已,沒啥用。即它只是為了方便人查看構造函數而存在的所以說,當我們之后,最好再添加這樣避免混淆。我們可以用判斷對象和構造函數是否對應雖然上面那個是指向但是依然為。
在JS中,構造器(constructor)是用來用new關鍵詞來創建對象的一個普普通通的函數,為了在形式上區別一般的函數,第一個字母通常大寫。
function Person(){}; // constructor var wenzhe = new Person();
這就是基本的格式,我們能通過wenzhe.constructor或者Person.prototype.constructor來查看我們的構造函數,但是查看的這個構造函數只是表象。它不參與對象的構造,也就是說這個屬性只是存儲了構造函數的映像而已,沒啥用。真正構造對象的那個構造函數永遠是new后面那個。即它只是為了方便人查看構造函數而存在的
function Number() { this.name = "Number"; } function Two() {} function Three() { this.name = "Three" } Two.prototype = new Number(); Two.prototype.constructor === Number.prototype.constructor; // true Two.prototype.constructor = Three; var a = new Two(); a.name // shape; a.constructor // ..three...
所以說,當我們 Two.prototype = new Number()之后,最好再添加 Two.prototype.constructor = Two,這樣避免混淆。
我們可以用 console.log(wenzhe instanceof Person) 判斷對象和構造函數是否對應
,雖然上面那個a.constructor是指向Three,但是console.log(a instanceof Three) 依然為false。
還有一點就是 object literal 或者 Object constructor創建的對象的constructor指向Object
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84381.html
摘要:然而事實上并不是。函數本身也是一個對象,但是給這個對象添加屬性并不能影響。一圖勝千言作者給出的解決方案,沒有麻煩的,沒有虛偽的,沒有混淆視線的,原型鏈連接不再赤裸裸。所以是這樣的一個函數以為構造函數,為原型。 注意:本文章是個人《You Don’t Know JS》的讀書筆記。在看backbone源碼的時候看到這么一小段,看上去很小,其實忽略了也沒有太大理解的問題。但是不知道為什么,我...
摘要:是完全的面向對象語言,它們通過類的形式組織函數和變量,使之不能脫離對象存在。而在基于原型的面向對象方式中,對象則是依靠構造器利用原型構造出來的。 JavaScript 函數式腳本語言特性以及其看似隨意的編寫風格,導致長期以來人們對這一門語言的誤解,即認為 JavaScript 不是一門面向對象的語言,或者只是部分具備一些面向對象的特征。本文將回歸面向對象本意,從對語言感悟的角度闡述為什...
摘要:寫在前面如果說是一本武學典籍,那么原型鏈就是九陽神功。那么,如何修煉好中的九陽神功呢真正的功法大成的技術是從底層上去理解,那種工程師和碼農的區別就在于對底層的理解,當你寫完一行代碼,或者你遇見一個解決的速度取決于你對底層的理解。 寫在前面 如果說JavaScript是一本武學典籍,那么原型鏈就是九陽神功。在金庸的武俠小說里面,對九陽神功是這樣描述的:練成「九陽神功」后,會易筋洗髓;生出...
摘要:寫在前面如果說是一本武學典籍,那么原型鏈就是九陽神功。那么,如何修煉好中的九陽神功呢真正的功法大成的技術是從底層上去理解,那種工程師和碼農的區別就在于對底層的理解,當你寫完一行代碼,或者你遇見一個解決的速度取決于你對底層的理解。 寫在前面 如果說JavaScript是一本武學典籍,那么原型鏈就是九陽神功。在金庸的武俠小說里面,對九陽神功是這樣描述的:練成「九陽神功」后,會易筋洗髓;生出...
閱讀 1107·2021-11-23 09:51
閱讀 1074·2021-10-18 13:31
閱讀 2967·2021-09-22 16:06
閱讀 4256·2021-09-10 11:19
閱讀 2196·2019-08-29 17:04
閱讀 425·2019-08-29 10:55
閱讀 2472·2019-08-26 16:37
閱讀 3369·2019-08-26 13:29