ECMAScript 2016 Language Specification (3)

4.2.1對象

盡管Js包括對類的定義語法兄春,Js對象并不是和C++父叙,Smalltalk,或者java一樣功能上功能上基于類涌乳。取而代之的是對象可以通過多種方式被創(chuàng)建甜癞,包括通過一個聲明或者通過創(chuàng)造對象然后把初始值分配到對應(yīng)的原型來執(zhí)行初始化所有或者部分的構(gòu)造體。每個構(gòu)造體都是一個函數(shù)蒸辆,該函數(shù)有一個叫做“protoytpe”的性質(zhì)征炼,被用來實(shí)現(xiàn)基于原型繼承原型共享谆奥。對象用構(gòu)造體通過new創(chuàng)建成拂玻,比如 new Date(2009,11)創(chuàng)建了一個新的日期對象。不使用new調(diào)用構(gòu)造體后的結(jié)果取決于構(gòu)造體本身魄懂。比如闯第,Date()善成一個表示當(dāng)前日期和時(shí)間的字符串而不是一個對象。

每個通過構(gòu)造體創(chuàng)建的對象都有一個隱藏引用(叫做對象的原型)來表示構(gòu)造體的prototyep原型填帽。此外咙好,一個原型可能有一個不能為NULL的隱藏引用聯(lián)系到他的原型,以此類推敷扫。這叫做原型鏈。當(dāng)一個引用在對象中被用于連接一個原型绘迁。這個引用是對應(yīng)原型的包含這個名字的原型的原型鏈里面第一個對象的原型所使用的名字卒密。

插圖

在基于類的面向?qū)ο笳Z言中,常規(guī)來說膛腐,實(shí)例攜帶狀態(tài),類攜帶方法哲身,只有構(gòu)造和行為會被繼承贸伐。在Js中,狀態(tài)和方法都由對象攜帶脯丝,而構(gòu)造,行為和狀態(tài)都可以繼承晕拆。

不直接博涵原型中包含的特定屬性的所有對象會共享此屬性和它的值。

CF是一個構(gòu)造體(也是個對象)潦匈。五個對象是通過使用New方式創(chuàng)建的:cf1, cf2, cf3, cf4, cf5赚导。這些對象每個都包含叫做q1,q2的原型吼旧。虛線表示隱藏的原型關(guān)系未舟;所以,舉個例子裕膀,cf3的原型是CFp。構(gòu)造體CF有兩個自己的原型寸齐,叫做P1和P2抄谐,對于CFp,cf1毅厚,cf2,cf3吸耿,cf4酷窥,cf5來說是無法訪問的。在CFp中的叫做CFP1的原型由cf1板乙,cf2,cf3募逞,cf4,cf5共享(但不是通過CF)刺啦,任何在CFp中找到的隱藏屬性來呢都不會被命名為q1,q2或者CFP1纠脾。需要注意到的是CF和CFp中并沒有隱藏的原型鏈。

不像大部分基于類的對象語言糊渊,原型可以通過為他們添加值來動態(tài)的加入到對象中慧脱。這是說,用來命名或者賦值給任何已經(jīng)被構(gòu)造的對象的原型中時(shí)構(gòu)造體不是必須的菱鸥。上圖中,可以為共享的原型cf1殷绍,cf2鹊漠,cf3,cf4躯概,cf5通過附一個新值給CFp中的原型來實(shí)現(xiàn)共享原型。

盡管Js對象并不是內(nèi)在基于類的怔鳖,還是可以很方便的基于構(gòu)造體固蛾,函數(shù),對象原型和方法的常規(guī)模式來定義類class的抽象献幔。Js的內(nèi)奸對象自己也是按照一個類class的模式趾诗。從ECMAScript2015開始蹬蚁,Js語言會包括句法類的定義郑兴,它允許程序員利用內(nèi)建對象簡明的定義類。

4.2.2 ECMAScript的嚴(yán)格變量

Js語言意識到有這種可能性:一些語言用戶也許希望限制語言中可使用的一些特性的叽粹∪匆ǎ基于對于安全性的考慮,他們希望有這種限制來避免一些錯誤特性辆脸,或更強(qiáng)勁的錯誤檢查啡氢,或者一切其他理由。為了支持這種可能性浪箭,Js定義了語言的嚴(yán)格變量。嚴(yán)格變量排除了一些常規(guī)Js語言的指定的句法和語義匹表,修改了一些語義細(xì)節(jié)的特性。嚴(yán)格模式還指定了對于語言非嚴(yán)格模式中不會跑出錯誤的情況會跑出額外的錯誤的條件袍镀。

Js的嚴(yán)格變量通常關(guān)聯(lián)到語言的嚴(yán)格模式冻晤。Js的嚴(yán)格模式的語法語義下的選擇和使用明確的是由單獨(dú)Js源文本單元這一層構(gòu)成。因?yàn)閲?yán)格模式在句法原文本單元中被選擇设江,所以嚴(yán)格模式只有在本地同一塊源文本單元中強(qiáng)加限制條件攘轩。嚴(yán)格模式不會限制或修改任何需要操作各種源文本數(shù)據(jù)的Js句法。一個完整的Js程序可能會有嚴(yán)格模式代碼和非嚴(yán)格模式代碼構(gòu)成歼捏。在這種情況下,嚴(yán)格模式只對那些被定義為嚴(yán)格模式的源文本單元起作用瞳秽。

為了確認(rèn)這個說明,一個Js實(shí)現(xiàn)方式需要實(shí)現(xiàn)非嚴(yán)格模式和嚴(yán)格模式拂苹。而且一個Js實(shí)現(xiàn)方式需要能支持嚴(yán)格模式和非嚴(yán)格模式結(jié)合起來運(yùn)行的程序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓢棒,一起剝皮案震驚了整個濱河市丘喻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泉粉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跺撼,死亡現(xiàn)場離奇詭異歉井,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)哩至,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門菩貌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來重荠,“玉大人,你說我怎么就攤上這事戈鲁。” “怎么了冈敛?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵鸣皂,是天一觀的道長暮蹂。 經(jīng)常有香客問我仰泻,道長,這世上最難降的妖魔是什么集侯? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任棠枉,我火速辦了婚禮,結(jié)果婚禮上辈讶,老公的妹妹穿的比我還像新娘娄猫。我一直安慰自己,他們只是感情好媳溺,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布悬蔽。 她就那樣靜靜地躺著,像睡著了一般屯阀。 火紅的嫁衣襯著肌膚如雪轴术。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天盖袭,我揣著相機(jī)與錄音彼宠,去河邊找鬼。 笑死凭峡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的倍踪。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼建车,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了潮罪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤嫉到,失蹤者是張志新(化名)和其女友劉穎屯碴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體导而,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡今艺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年爵卒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钓株。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡轴合,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出受葛,到底是詐尸還是另有隱情,我是刑警寧澤总滩,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布闰渔,位于F島的核電站,受9級特大地震影響冈涧,放射性物質(zhì)發(fā)生泄漏蝌以。R本人自食惡果不足惜何之,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望徊件。 院中可真熱鬧蒜危,春花似錦、人聲如沸辐赞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夹囚,卻和暖如春邀窃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瞬捕。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劣砍,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓秆剪,卻偏偏與公主長得像爵政,于是被迫代替她去往敵國和親陶缺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

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

  • 總覺得來到這該表示些什么汤锨。 我是一個喜歡文字的人。曾經(jīng)一度渴望加入像雜志社那樣能編輯文字的地方闲礼。不明具體原因,可能...
    阿拉蘿卜閱讀 159評論 1 1
  • 晚上吃過晚飯慎菲,實(shí)在是百無聊賴,又心情很煩悶露该,就跟兒子一起看綜藝節(jié)目,電視里燈光很炫解幼,怕時(shí)間長對孩子眼睛不好,...
    手心里的溫暖cyp閱讀 280評論 0 0
  • 孩子的英語啟蒙书幕,怎么少的了原版動畫片揽趾?那么給孩子看動畫片有什么好處呢?該如何選擇呢篱瞎?我曾經(jīng)就這個問題在某個平臺做過...
    淞淞媽媽閱讀 724評論 1 3