在Javascript中,如果沒有宣告變數也可以直接使用
例如:

a = 123;
console.log(a);

但為了避免區域與全域的變數重疊,或者其他不必要產生的狀況,通常在使用變數前都會宣告

var a = 123;

不過當程式一多,難免會有漏掉的時候,因此可以使用嚴格模式來撰寫

//使用strict mode(嚴格模式)
"use strict";

//這樣就會出現 assignment to undeclared variable a 的錯誤
a = 123;
console.log(a);

也可以針對特定的function做嚴格模式

a = 123;
console.log(a);

test();

function test() {
    //使用strict mode(嚴格模式)
    "use strict";

    //這裡會產生錯誤
    b = 123;
    console.log(b);
}

除了變數宣告之外,strict mode還限制了一些東西,例如物件中不能設定相同屬性等等,有興趣可以直接上網查查相關的文件

Categories: JavaScript