JavaScript有些古怪的特性許多都是因為早期的版本定義不完善所導致的,例如定義變數時若沒用var、let等字宣告,直接x=10;的話,就算只是在函式中,也會在全域環境中建立起全域變數。
全域變數是不好的現象,容易與其他人宣告的變數發生衝突。現在開發時應該使用let來宣告變數,不要使用var或是全域變數宣告方式。
在ES5時加入了嚴格模式,在需要使用嚴格模式的區域中,或.js檔的開頭寫上'use strict'
,就會開啟嚴格模式。
嚴格模式中禁止許多行為,例如:禁止全域變數的宣告、禁止八進位整數Xo3的撰寫、禁止將變數名稱宣告成let、static、public、protected、private、package、interface、implements