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

如有錯誤之處,歡迎批評指正。謝謝
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
window.location.href的用法(動態(tài)輸出跳轉)
無論在靜態(tài)頁面還是動態(tài)輸出頁面中window.location.href都是不錯的用了跳轉的實現方案2014-08-08
JavaScript中setFullYear()方法的使用詳解
這篇文章主要介紹了JavaScript中setFullYear()方法的使用詳解,是JS入門學習中的基礎知識,需要的朋友可以參考下2015-06-06

