JS_0: 執(zhí)行環(huán)境和作用域鏈

JavaScript,目前對于執(zhí)行環(huán)境和作用域鏈的理解

什么是作用域鏈?

要講作用域鏈就得先講執(zhí)行環(huán)境。

每個函數(shù)都有自己的執(zhí)行環(huán)境,每個執(zhí)行環(huán)境都有與之關聯(lián)的變量對象,這個變量對象保存了這個執(zhí)行環(huán)境中定義的變量和函數(shù)

當執(zhí)行流進入一個函數(shù)時就會將函數(shù)的執(zhí)行環(huán)境推入到環(huán)境棧中,當函數(shù)執(zhí)行完畢后推出,然后將控制權交給前一個執(zhí)行環(huán)境。

當代碼在執(zhí)行環(huán)境中執(zhí)行時,就會創(chuàng)建作用域鏈,作用域鏈用于保證執(zhí)行環(huán)境可以訪問的變量和函數(shù)的有序訪問。

作用域鏈的最前端保存的是當前執(zhí)行環(huán)境的變量對象,下一個變量來自包含環(huán)境的變量對象,再下一個來自下一個包含環(huán)境的變量對象,直至全局執(zhí)行環(huán)境的變量對象。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容