麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

深入理解javascript原型和閉包(9)——簡述【執(zhí)行上下文】下

2024-04-27 15:16:36
字體:
供稿:網(wǎng)友

原文地址:http://www.cnblogs.com/wangfupeng1988/p/3987563.html

上一篇我們講到在全局環(huán)境下的代碼段中,執(zhí)行上下文環(huán)境中有如何數(shù)據(jù):

變量、函數(shù)表達(dá)式——變量聲明,默認(rèn)賦值為undefined;this——賦值;函數(shù)聲明——賦值;

 

如果在函數(shù)中,除了以上數(shù)據(jù)之外,還會有其他數(shù)據(jù)。先看以下代碼:

以上代碼展示了在函數(shù)體的語句執(zhí)行之前,arguments變量和函數(shù)的參數(shù)都已經(jīng)被賦值。從這里可以看出,函數(shù)每被調(diào)用一次,都會產(chǎn)生一個新的執(zhí)行上下文環(huán)境。因為不同的調(diào)用可能就會有不同的參數(shù)。

 

另外一點不同在于,函數(shù)在定義的時候(不是調(diào)用的時候),就已經(jīng)確定了函數(shù)體內(nèi)部自由變量的作用域。至于“自由變量”和“作用域”是后面要專門拿出來講述的重點,這里就先點到為止。用一個例子說明一下:

 

好了,總結(jié)完了函數(shù)的附加內(nèi)容,我們就此要全面總結(jié)一下上下文環(huán)境的數(shù)據(jù)內(nèi)容。

全局代碼的上下文環(huán)境數(shù)據(jù)內(nèi)容為:

普通變量(包括函數(shù)表達(dá)式),

如: var a = 10;

聲明(默認(rèn)賦值為undefined)

函數(shù)聲明,

如: function fn() { }

賦值

this

賦值

如果代碼段是函數(shù)體,那么在此基礎(chǔ)上需要附加:

參數(shù)

賦值

arguments

賦值

自由變量的取值作用域

賦值

給執(zhí)行上下文環(huán)境下一個通俗的定義——在執(zhí)行代碼之前,把將要用到的所有的變量都事先拿出來,有的直接賦值了,有的先用undefined占個空。

 

了解了執(zhí)行上下文環(huán)境中的數(shù)據(jù)信息,你就不用再去死記硬背那些可惡的面試題了。理解了就不用背誦!

 

講完了上下文環(huán)境,又來了新的問題——在執(zhí)行js代碼時,會有數(shù)不清的函數(shù)調(diào)用次數(shù),會產(chǎn)生許多個上下文環(huán)境。這么多上下文環(huán)境該如何管理,以及如何銷毀而釋放內(nèi)存呢?下一節(jié)將通過“執(zhí)行上下文棧”來解釋這個問題。

 

不過別著急,在解釋“執(zhí)行上下文棧”之前,還需要把this說一下,this還是挺重要的。

說完this,接著說執(zhí)行上下文棧。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宅男噜噜噜66一区二区 | 欧美日韩中文字幕在线视频 | 欧美久久一区 | 精品国产一区二区三区成人影院 | 亚洲免费在线看 | 成人永久免费视频 | 欧美极品欧美精品欧美视频 | 黄污免费网站 | 免费永久看羞羞片网站入口 | 免费久久久久 | 国产精品免费观在线 | 久久成人综合网 | 久久久久久久久久网站 | 在线亚洲播放 | 欧美精品欧美极品欧美激情 | 91精品国产日韩91久久久久久360 | 9191色 | 精品一区二区三区在线观看视频 | 国产妞干网 | 毛片在线视频观看 | 蜜桃av网 | 久久综合一区 | 看黄在线 | 国产成人精品无人区一区 | 精品中文字幕在线观看 | 特一级毛片 | 国产羞羞网站 | 欧美一级免费视频 | 精品国产91久久久久久 | 国产精品爆操 | jj视频在线播放 | 一级在线| 一级毛片电影网 | 337p粉嫩大胆噜噜噜亚瑟影院 | 欧美日韩在线播放 | 成人福利网 | 精品国产91久久久久久久 | 一级毛片免费观看在线 | 操碰网| 欧美色淫| 久久九九热re6这里有精品 |