[筆記] JavaScript 的基本觀念 – 4 – Variable Environment

JavaScript 的變數縱使名稱設定一樣,會因所在環境不同而有不同的結果。在函式 function 內的變數會獨立於 global execution 的區塊,所以若要函式內的執行結果回傳到 global execution 中,記得要下 return 。
javascript es6 logo


課程對應章節

Course 15 ~ Course 16 (全部一共有 85 Courses)

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。課程連結網址:http://tinyurl.com/w7vrql6

內容

1. 直接看例子來解說吧,縱使定義是使用最弱型別的 var,因為有 function 的保護,所以範例中的 myVar 並沒有受到影響。
2. 有 OuterReference 的特性,故位於 Stack 最頂端的 function,會向外層的 function 一個個找尋對應值,直到 global。
3. Scope 是指編譯器或 JavaScript 藉由名稱來查尋變數的規則,在 ES6 以前只能用 function 來定義變數範圍(Scope)。ES6 以後多了用 {…} 的方式。


JavaScript 全攻略系列文章

  • [筆記] JavaScript 的基本觀念 – 20 – something new 新玩意
  • [筆記] JavaScript 的基本觀念 – 19 – 檢視 / 建立框架 view & build a framework
  • [筆記] JavaScript 的基本觀念 – 18 – 其他 miscellaneous
  • [筆記] JavaScript 的基本觀念 – 16 – new 和 constructor function 函數建構子
  • [筆記] JavaScript 的基本觀念 – 15 – prototype, reflection & extend
  • [筆記] JavaScript 的基本觀念 – 14 – call()、apply() 與 bind()
  • [筆記] JavaScript 的基本觀念 – 13 – Closure 閉包
  • [筆記] JavaScript 的基本觀念 – 12 – IIFE
  • [筆記] JavaScript 的基本觀念 – 11 – Array, Syntax, Semicolon
  • [筆記] JavaScript 的基本觀念 – 10 – this
  • [筆記] JavaScript 的基本觀念 – 9 – 函數與物件 Function and Object
  • [筆記] JavaScript 的基本觀念 – 8 – Boolean & if/else
  • [筆記] JavaScript 的基本觀念 – 17 – 內建函數建構子
  • [筆記] JavaScript 的基本觀念 – 7 – 運算子
  • [筆記] JavaScript 的基本觀念 – 6 – 型別
  • [筆記] JavaScript 的基本觀念 – 5 – Asynchronous
  • [筆記] JavaScript 的基本觀念 – 3 – Execution Stack
  • [筆記] JavaScript 的基本觀念 – 2 – undefined
  • [筆記] JavaScript 全攻略:克服 JS 的奇怪部分
  • [筆記] JavaScript 的基本觀念 – 1 – Hoisting
  • 按讚加入粉絲團

    延伸閱讀