1. 程式人生 > >執行上下文(筆記)

執行上下文(筆記)

用途 spa test src png 賦值 函數代碼 str ner

可執行代碼類型

  1. 全局代碼
  2. 函數代碼
  3. eval代碼

執行上下文類型

全局上下文

函數上下文

eval上下文

執行上下文組成

作用域鏈

this

變量對象

技術分享圖片

技術分享圖片

進出棧順序

window 進棧

foo進棧

inner進棧

inner出棧

foo出棧

eval進棧

eval出棧

window出棧(只有當頁面關閉時window才出棧)

變量對象的用途

用來存儲 變量、聲明式函數、函數形參

技術分享圖片

a v 和function test()被存儲

變量式聲明的函數不被存儲 var a=function(){}

不同上下文的變量對象

全局隊象 激活對象 calling context.vo

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

變量實例化

技術分享圖片

函數的調用實在函數的實例化之後

技術分享圖片

技術分享圖片

優先級 聲明式函數>>形參>>變量

實例化的過程先於賦值

技術分享圖片

技術分享圖片

技術分享圖片

DEMO:

技術分享圖片

this

技術分享圖片

誰調用 this指向誰

技術分享圖片

執行上下文(筆記)