作用域鏈

????當(dāng)代碼在一個(gè)環(huán)境中執(zhí)行時(shí),會(huì)創(chuàng)建變量對(duì)象的一個(gè)作用域鏈。作用域鏈的用途,是保證對(duì)執(zhí)行環(huán)境有權(quán)訪問的所有變量和函數(shù)的有序訪問。作用域鏈的前端,始終都是當(dāng)前執(zhí)行的代碼所在環(huán)境的變量對(duì)象。如果這個(gè)環(huán)境是函數(shù),則將其活動(dòng)對(duì)象作為變量對(duì)象?;顒?dòng)對(duì)象在最開始時(shí)只包含一個(gè)變量,即arguments對(duì)象(這個(gè)對(duì)象在全局環(huán)境中是不存在的)。作用域鏈中的下一個(gè)變量對(duì)象來自包含(外部)環(huán)境,而在下一個(gè)變量對(duì)象則來自下一個(gè)包含環(huán)境。這樣,一直延續(xù)到全局執(zhí)行環(huán)境;全局執(zhí)行環(huán)境的變量對(duì)象始終都是作用域鏈中的最后一個(gè)對(duì)象。

? ? 標(biāo)識(shí)符解析是沿著作用域鏈一級(jí)一級(jí)地搜索標(biāo)識(shí)符的過程。搜索過程始終從作用域鏈的前端開始,吼吼逐級(jí)向后回溯,直至找到標(biāo)識(shí)符為止(如果找不到標(biāo)識(shí)符,通常會(huì)導(dǎo)致錯(cuò)誤發(fā)生)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 任何程序設(shè)計(jì)語言都有作用域的概念,簡(jiǎn)單的說,作用域就是變量與函數(shù)的可訪問范圍,即作用域控制著變量與函數(shù)的可見性和生...
    Alone灬旅途閱讀 349評(píng)論 0 0
  • 任何程序設(shè)計(jì)語言都有作用域的概念,簡(jiǎn)單的說,作用域控制著變量與函數(shù)的可見性和生命周期。ES6之前,JS變量的作用域...
    卓三陽閱讀 693評(píng)論 0 2
  • 變量 變量分為全局變量和局部變量,全局變量就是指該變量的作用域?yàn)楫?dāng)前文檔,也就是說全局變量在當(dāng)前文檔的所有Java...
    jrg陳咪咪sunny閱讀 440評(píng)論 0 1
  • 前言 對(duì)于js中的閉包,無論是老司機(jī)還是小白,我想,見得不能再多了,然而有時(shí)三言兩語卻很難說得明白,反正在我初學(xué)時(shí)...
    itclanCoder閱讀 4,296評(píng)論 1 11
  • 1.maven的基本命令mvn -v 產(chǎn)看版本信息mvn compile 編譯mvn test ...
    一條大河123閱讀 229評(píng)論 0 0

友情鏈接更多精彩內(nèi)容