對JavaScript原型的理解

JavaScript中是沒有類的概念的萤捆,有的只是原型和對象。

在說原型之前先說說JavaScript中對象的三種類型:

(1)用戶創(chuàng)建的對象市怎,也就是用new關(guān)鍵字創(chuàng)建出來的對象。如:

? ? ? ? ?var obj = new Object();

(2)構(gòu)造函數(shù)(其實(shí)在JavaScript中任何非匿名函數(shù)都可以是構(gòu)造函數(shù))對象干像。如上面的Object就是個構(gòu)造函數(shù)對象麻汰。

(3)原型對象。構(gòu)造函數(shù)的prototype屬性所指向的對象五鲫。

上面三類對象的__proto__屬性所指向的對象即為該對象的原型臣镣,也對應(yīng)該對象的構(gòu)造函數(shù)的prototype屬性智亮。Function.prototype是所有函數(shù)的原型点待,Object.prototype是所有對象的祖先。因?yàn)镺bject是一個構(gòu)造函數(shù)状原,所有Object.__proto__ = Function.prototype苗踪。又因?yàn)镕unction.prototype是一個對象(原型對象),所以Function.prototype.__proto__ = Object.prototype通铲。而Function.__proto__ = Function.prototype。因?yàn)镺bject.prototype是所有對象的祖先所以有Object.prototype.__proto__ = null朋截。另外原型對象中還有一個指向構(gòu)造函數(shù)的屬性constuctor吧黄。拿Function 和 Object這兩個構(gòu)造函數(shù)為例,它們的原型屬性Function.prototype 和 Object.prototype 中都有一個constructor屬性廓八。其中Function.prototype.constructor = Function, Object.prototype.constructor = Object。

下面用一個例子來說明:

?function func(){ };

?var f = new func();

console.log( f.__proto__ == func.prototype); // true

console.log( f.__proto__.__proto__ == Object.prototype); //true

console.log( func.__proto__ == Function.prototype); // true

console.log( func.prototype.__proto__ == Object.prototype); //true

console.log( func.prototype.constructor == func); //true

console.log( Object.__proto__ == Function.prototype); //true

console.log( Object.property.__proto__ == null); //true

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市国夜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筹裕,老刑警劉巖朝卒,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乐埠,死亡現(xiàn)場離奇詭異,居然都是意外死亡瑞眼,警方通過查閱死者的電腦和手機(jī)伤疙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門徒像,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛙讥,“玉大人,你說我怎么就攤上這事旁涤∈锰В” “怎么了侵蒙?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長算凿。 經(jīng)常有香客問我,道長氓轰,這世上最難降的妖魔是什么署鸡? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任靴庆,我火速辦了婚禮,結(jié)果婚禮上炉抒,老公的妹妹穿的比我還像新娘。我一直安慰自己拿诸,他們只是感情好亩码,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布描沟。 她就那樣靜靜地躺著缅刽,像睡著了一般衰猛。 火紅的嫁衣襯著肌膚如雪啡省。 梳的紋絲不亂的頭發(fā)上髓霞,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天结序,我揣著相機(jī)與錄音纵潦,去河邊找鬼。 笑死返敬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涛目。 我是一名探鬼主播凛澎,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼阿迈,長吁一口氣:“原來是場噩夢啊……” “哼轧叽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起待逞,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤识樱,失蹤者是張志新(化名)和其女友劉穎震束,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體割疾,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宏榕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年侵佃,在試婚紗的時候發(fā)現(xiàn)自己被綠了麻昼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡馋辈,死狀恐怖抚芦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤燕垃,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布枢劝,位于F島的核電站,受9級特大地震影響卜壕,放射性物質(zhì)發(fā)生泄漏您旁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一轴捎、第九天 我趴在偏房一處隱蔽的房頂上張望鹤盒。 院中可真熱鬧,春花似錦侦副、人聲如沸侦锯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽题篷。三九已至,卻和暖如春损敷,著一層夾襖步出監(jiān)牢的瞬間路星,已是汗流浹背苫幢。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工触菜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哲泊,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像喳魏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子创倔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容