1.引擎: 從頭到尾負(fù)責(zé)整個(gè)js程序的編譯和執(zhí)行
2.編輯器:負(fù)責(zé)語(yǔ)法分析及代碼生成等
3.作用域:負(fù)責(zé)收集并維護(hù)由所有聲明的標(biāo)識(shí)符組成的一系列查詢撑刺,并實(shí)施一套非常嚴(yán)格的規(guī)則,確定當(dāng)前執(zhí)行的代碼對(duì)這些標(biāo)識(shí)符的訪問(wèn)權(quán)限
4.var a = 2; 編譯器做的處理:1) 遇到var a,編譯器會(huì)詢問(wèn)作用域是否已經(jīng)有一個(gè)該名稱的變量存在于同一個(gè)作用域的集合中碰纬。如果是呐萌,編譯器會(huì)忽略該聲明渗磅,繼續(xù)進(jìn)行編譯犯眠;否則他會(huì)要求作用域在當(dāng)前作用域的集合中聲明一個(gè)新的變量按灶,命名為a。
2) 編譯器會(huì)為引擎生成運(yùn)行時(shí)所需的代碼筐咧,這些代碼被用來(lái)處理a=2這個(gè)賦值操作兆衅。引擎運(yùn)行時(shí)會(huì)首先詢問(wèn)作用域,在當(dāng)前的作用域集合中是否存在一個(gè)叫作a的變量嗜浮。如果否,引擎就會(huì)使用這個(gè)變量摩疑;如果不是危融,引擎會(huì)繼續(xù)查找該變量,如果引擎最終找到了a變量雷袋,就會(huì)將2賦值給它吉殃,否則引擎就會(huì)舉手示意并拋出一個(gè)異常
5.引擎為變量a進(jìn)行LHS查詢和RHS(retrieve his source value)查詢辞居。
1)console.log(a) RHS,需要查找并取得a的值。
2)a=2,LHS,不需要關(guān)心當(dāng)前的值是什么蛋勺,只想找到=2的目標(biāo)
6.編譯器可以在代碼生成的同時(shí)處理聲明和值的定義
js作用域
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門撮胧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人老翘,你說(shuō)我怎么就攤上這事芹啥。” “怎么了铺峭?”我有些...
- 文/不壞的土叔 我叫張陵墓怀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我逛薇,道長(zhǎng)捺疼,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任永罚,我火速辦了婚禮啤呼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呢袱。我一直安慰自己官扣,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布羞福。 她就那樣靜靜地躺著惕蹄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪治专。 梳的紋絲不亂的頭發(fā)上卖陵,一...
- 那天,我揣著相機(jī)與錄音张峰,去河邊找鬼泪蔫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛喘批,可吹牛的內(nèi)容都是我干的撩荣。 我是一名探鬼主播铣揉,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼餐曹!你這毒婦竟也來(lái)了逛拱?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤台猴,失蹤者是張志新(化名)和其女友劉穎朽合,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體卿吐,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡旁舰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗡官。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箭窜。...
- 正文 年R本政府宣布竹捉,位于F島的核電站,受9級(jí)特大地震影響尚骄,放射性物質(zhì)發(fā)生泄漏块差。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一倔丈、第九天 我趴在偏房一處隱蔽的房頂上張望憨闰。 院中可真熱鬧,春花似錦需五、人聲如沸鹉动。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泽示。三九已至,卻和暖如春蜜氨,著一層夾襖步出監(jiān)牢的瞬間械筛,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓厌丑,卻偏偏與公主長(zhǎng)得像定欧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怒竿,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持耕驰,譯者再次奉上一點(diǎn)點(diǎn)福利:阿里云產(chǎn)品券爷辱,享受所有官網(wǎng)優(yōu)惠,并抽取幸運(yùn)大...
- 如果我的文章對(duì)你有用,請(qǐng)給我一個(gè)贊媒抠,讓我有繼續(xù)堅(jiān)持的動(dòng)力/微笑弟断。原創(chuàng)文章,此文章僅供學(xué)習(xí)參考使用趴生,歡迎訪問(wèn)我的個(gè)人...
- 什么是作用域 對(duì)變量值的存儲(chǔ)阀趴、訪問(wèn)、修改帶給程序狀態(tài)的改變編程語(yǔ)言的基本功能之一是能夠存儲(chǔ)變量當(dāng)中的值苍匆,在之后對(duì)這...
- 特別說(shuō)明浸踩,為便于查閱叔汁,文章轉(zhuǎn)自https://github.com/getify/You-Dont-Know-JS...