js中的作用域鏈

執(zhí)行環(huán)境

執(zhí)行環(huán)境是JavaScript中最為重要的概念之一。執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問的其他數(shù)據(jù),決定了他們各自的行為。每個執(zhí)行環(huán)境都有一個與之關(guān)聯(lián)的變量對象,環(huán)境中定義的所有變量核函數(shù)保存在這個對象中。雖然編寫的代碼無法訪問這個對象,凡是解析器會在處理數(shù)據(jù)時在后臺用到他。
全局執(zhí)行環(huán)境是最外圍的一個執(zhí)行環(huán)境。在web瀏覽器中,全局執(zhí)行環(huán)境唄認為是window對象,因此所有的全局變量和函數(shù)是作為window對象的屬性和方法創(chuàng)建的。某個執(zhí)行環(huán)境中所有的代碼執(zhí)行完畢后,該環(huán)境被銷毀,保存在其中的所有變量和函數(shù)定義也隨之銷毀。

作用域鏈

當代碼在一個環(huán)境執(zhí)行時,會創(chuàng)建變量對象的一個作用域鏈,保證對執(zhí)行環(huán)境有權(quán)訪問的所有變量和函數(shù)的有序訪問。
函數(shù)在執(zhí)行的過程中,先從自己內(nèi)部找變量
如果找不到,再從創(chuàng)建當前函數(shù)所在的作用域去找, 以此往上

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

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

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