JavaScript中執行上下文的產生

JavaScript中的運行環境主要包括如下三種:

  • 全局環境: 代碼運行起來後首先會進入全局環境
  • 函數環境: 當函數被調用執行時,會進入當前函數中執行環境
  • eval環境: 不建議使用.

這個Demo演示執行上下文的運行狀況

//demo.js
var color = blue

function changeColor(){
  var anotherColor = 'red'
  function swapColor(){
    var tmpColor = anotherColor
    anotherColor = color
    color = tempColor
  }
  swapColor()

}

changeColor()

第一步:全局上下文入棧javascript

第二步:遇到changeColor()==>ChangeColor EC的上下文入棧java

第三步:ChangeColor EC的上下文入棧後,swapColor() EC入棧瀏覽器

第四步:因爲swapColor() EC入棧後,沒有其餘執行上下文產生,swapColor() EC彈棧函數

第五步:ChangeColor EC彈棧spa

最後:全局上下文會在瀏覽器關閉窗口後彈棧code

關鍵語句:ip

代碼運行起來後首先會進入全局環境;io

函數執行時纔會建立執行上下文;function

相關文章
相關標籤/搜索