iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0

今天介紹 JS 內 var 與 let 的後兩點差異。

  1. 執行環境 Execution Context
  2. 宣告 declaration

執行環境 Execution Context:

JS 裡最大的執行環境稱為全域執行環境 Global Execution Context 。
全域執行環境底下又可分為:

  • Object Environment Records:全域物件環境
    • var 會在此環境下宣告變數,在瀏覽器中可以用 window 物件執行(在 node.js 可以用 global 執行)。
  • Declarative Environment Records:宣告環境
    • let 會在此環境下宣告變數,無法用 window 或 global 物件執行,因為 window 及 global 是全域物件環境內的物件。

範例

var a = 1;
let b = 2;

console.log(window.a);
//  印出 1
console.log(window.b);
//  印出 undefined

宣告 declaration:

在同作用範圍內:

  • var 可以重新宣告。
  • let 無法重新宣告。

範例

var a = 1;
var a = 2;
//  可順利執行

let b = 3;
let b = 4;
//  印出 "error" SyntaxError: Identifier 'b' has already been declared

參考:
[1]What's the difference between using "let" and "var"?


上一篇
Day 11 JavaScript var vs let (1)
下一篇
Day 13 JavaScript 的資料型態
系列文
網頁前後端寶石庫-礦坑補完計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言