最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:45:15
文檔

JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧

JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧:除了創(chuàng)建對象,構(gòu)造函數(shù)(constructor) 還做了另一件有用的事情—自動為創(chuàng)建的新對象設(shè)置了原型對象(prototype object) 。原型對象存放于 ConstructorFunction.prototype 屬性中。 例如,我們重寫之前例子,使用構(gòu)造函數(shù)創(chuàng)建對象b和c,那么對象a
推薦度:
導(dǎo)讀JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧:除了創(chuàng)建對象,構(gòu)造函數(shù)(constructor) 還做了另一件有用的事情—自動為創(chuàng)建的新對象設(shè)置了原型對象(prototype object) 。原型對象存放于 ConstructorFunction.prototype 屬性中。 例如,我們重寫之前例子,使用構(gòu)造函數(shù)創(chuàng)建對象b和c,那么對象a
除了創(chuàng)建對象,構(gòu)造函數(shù)(constructor) 還做了另一件有用的事情—自動為創(chuàng)建的新對象設(shè)置了原型對象(prototype object) 。原型對象存放于 ConstructorFunction.prototype 屬性中。

例如,我們重寫之前例子,使用構(gòu)造函數(shù)創(chuàng)建對象“b”和“c”,那么對象”a”則扮演了“Foo.prototype”這個角色:

上述代碼可表示為如下的關(guān)系:

構(gòu)造函數(shù)與對象之間的關(guān)系

上述圖示可以看出,每一個object都有一個prototype. 構(gòu)造函數(shù)Foo也擁有自己的__proto__, 也就是Function.prototype, 而Function.prototype的__proto__指向了Object.prototype. 重申一遍,F(xiàn)oo.prototype只是一個顯式的屬性,也就是b和c的__proto__屬性。

這個問題完整和詳細的解釋有兩個部分:

面向?qū)ο缶幊?一般理論(OOP. The general theory),描述了不同的面向?qū)ο蟮姆妒脚c風(fēng)格(OOP paradigms and stylistics),以及與ECMAScript的比較。

面向?qū)ο缶幊?ECMAScript實現(xiàn)(OOP. ECMAScript implementation), 專門講述了ECMAScript中的面向?qū)ο缶幊獭?br /> 現(xiàn)在,我們已經(jīng)了解了基本的object原理,那么我們接下去來看看ECMAScript里面的程序執(zhí)行環(huán)境[runtime program execution]. 這就是通常稱為的“執(zhí)行上下文堆?!盵execution context stack]。每一個元素都可以抽象的理解為object。你也許發(fā)現(xiàn)了,沒錯,在ECMAScript中,幾乎處處都能看到object的身影。

下面給大家介紹JavaScript constructor 屬性詳解

對象的constructor屬性用于返回創(chuàng)建該對象的函數(shù),也就是我們常說的構(gòu)造函數(shù)。

在JavaScript中,每個具有原型的對象都會自動獲得constructor屬性。除了arguments、Enumerator、Error、Global、Math、RegExp、Regular Expression等一些特殊對象之外,其他所有的JavaScript內(nèi)置對象都具備constructor屬性。例如:Array、Boolean、Date、Function、Number、Object、String等。所有主流瀏覽器均支持該屬性。

語法

object.constructor

返回值

對象的constructor屬性返回創(chuàng)建該對象的函數(shù)的引用。

示例&說明

以下代碼中的[native code],表示這是JavaScript的底層內(nèi)部代碼實現(xiàn),無法顯示代碼細節(jié)。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧

JavaScript精煉之構(gòu)造函數(shù)Constructor及Constructor屬性詳解_javascript技巧:除了創(chuàng)建對象,構(gòu)造函數(shù)(constructor) 還做了另一件有用的事情—自動為創(chuàng)建的新對象設(shè)置了原型對象(prototype object) 。原型對象存放于 ConstructorFunction.prototype 屬性中。 例如,我們重寫之前例子,使用構(gòu)造函數(shù)創(chuàng)建對象b和c,那么對象a
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top