執行上下文可以理解為當前**的執行環境,它會形成乙個作用域
1.單執行緒
2.同步執行,只有棧頂的上下文處於執行中,其他上下文需要等待
3.全域性上下文只有唯一的乙個,它在瀏覽器關閉時出棧
4.函式的執行上下文的個數沒有限制
5.每次某個函式被呼叫,就會建立乙個新的執行上下文,即使是呼叫的自身函式,也是如此。
一.建立階段
在這個階段中,執行上下文會分別建立變數物件,建立作用域鏈,以及確定this指向。
二.**執行階段
建立完成之後,就會開始執行**,會完成變數賦值,函式引用,以及執行其他**。
let/const
let/const宣告的變數,仍然會提前被收集到變數物件中,但和var不同的是,let/const定義的變數,不會在這個時候給他賦值undefined
執行上下文詳解
當執行 js 時,會產生三種執行上下文 每個執行上下文中都有三個重要的屬性 var a 10 function foo i foo 對於上述 執行棧中有兩個上下文 全域性上下文和函式foo上下文。stack globalcontext,foocontext 對於全域性上下文來說,vo 大概是這樣的 ...
執行上下文
1.分類 位置 全域性 函式 區域性 2.全域性執行上下文 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 w...
this執行上下文
this的指向為 誰呼叫當前this所在的函式,this就指向誰。也就是說,當前呼叫函式的那個物件自身就是this,就是當前的執行上下文。被滑鼠事件,鍵盤事件等觸發的函式 叫做事件處理函式,事件處理函式的this指向事件源 觸發事件的節點 事件處理函式第乙個引數是事件物件 備註 有名函式的this指...