圖解javascript作用域鏈
來源:懂視網
責編:小采
時間:2020-11-27 21:56:14
圖解javascript作用域鏈
圖解javascript作用域鏈:先來一段簡單的javascript代碼: window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(10,5); } 這段代碼中的執行環境已經數清楚了,可是執行環境只是代碼在預編譯過程中javascript引擎所做的事情,當代碼在window
導讀圖解javascript作用域鏈:先來一段簡單的javascript代碼: window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(10,5); } 這段代碼中的執行環境已經數清楚了,可是執行環境只是代碼在預編譯過程中javascript引擎所做的事情,當代碼在window
先來一段簡單的javascript代碼:
window.onload=function(){
function sub(a,b){
return a-b;
}
var result=sub(10,5);
}
這段代碼中的執行環境已經數清楚了,可是執行環境只是代碼在預編譯過程中javascript引擎所做的事情,當代碼在window onload事件被觸發,且sub函數被執行的時候會發生什么事情呢?
1.javascript引擎會在頁面加載腳本被執行時為每個函數創建一個作用域(執行上下文)及作用域鏈。
2.javascript引擎在產生這些作用域后,會創建一個堆棧。
3.將onload對應的匿名函數壓棧
4.將sub函數壓棧
5.sub函數執行完畢出棧
6.匿名函數出棧
整體圖解如下:

如有錯誤之處,歡迎批評指正。謝謝
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
圖解javascript作用域鏈
圖解javascript作用域鏈:先來一段簡單的javascript代碼: window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(10,5); } 這段代碼中的執行環境已經數清楚了,可是執行環境只是代碼在預編譯過程中javascript引擎所做的事情,當代碼在window