此篇文章瀏覽量:
99
ES5 為該語言引進了一種「嚴格模式(strict mode)」,它會以更嚴謹的方式來規範某些行為。一般來說,這些限制會讓程式碼遵循一組較為安全且適當的指導原則。
此外,使用 strict 模式也能讓你的程式碼更容易被最佳化。所以從現在開始,你應該在你所有的程式中使用它。
可以讓個別的函式或是整個檔案選擇使用 strict 模式,這要看你將 strict 模式的宣告放在程式中的什麼地方。
以下程式範例,是只有在 foo() 函式裡面中使用 strict 模式(也包含以下的 bar() 函式):
function foo() {
"use strict";
// 這裡的程式碼使用 strict 模式
function bar() {
// 這裡的程式碼使用 strict 模式
}
}
// 這裡的程式碼不使用 strict 模式
以下的程式範例,是整個檔案都使用 strict 模式:
"use strict";
function foo() {
// 這裡的程式碼使用 strict 模式
function bar() {
// 這裡的程式碼使用 strict 模式
}
}
// 這裡的程式碼使用 strict 模式
使用 strict 模式時,一個主要的關鍵差異(優點),是它不允許省略 var 宣告,例如以下程式碼:
function foo(){
"use strict"; // 開啟 strict 模式
a = 1; // 少了 var 宣告,會產生 ReferenceError 的錯誤
}
foo();
如果你在程式碼中開啟 strict 模式,而你得到錯誤,或是程式碼的行為開始變得怪怪的,或許你會想要避免使用 strict 模式,但其實並不是個好主意。
如果 strict 模式會使你的程式發生問題,幾乎可以確定這代表是你的程式中有東西需要修正了。
使用 strict 模式不僅會讓你的程式碼變得更安全,也不只會讓你的程式碼更容易最佳化,所以請開始使用 “use strict” 模式吧!