Javascirpt的strict模式

一直以來,Javascript 松散靈活的語法飽受爭議。 於是,ECMAScript 5.0 定義中引入瞭strict mode,使Javascript解釋器可以用"嚴格"的語法來解析代碼,以幫助開發人員發現錯誤。IE 10 開始支持strict mode。

 

開啟strict mode很簡單,在代碼的開頭加入

[javascript] 
"use strict"; 

這樣很巧妙地兼容瞭那些不支持strict mode老的瀏覽器,不會報錯。
使用 strict mode 有以下幾個好處:

防止意外定義的全局變量
[javascript]
"use strict"; 
x = 5; // 沒有事先聲明,會報錯 

取消this值的自動轉換
[javascript] view plaincopy
window.hi= "Hi"; 
 
function sayHi() { 
    alert(this.hi); // 報錯 

防止重復定義
[javascript] 
var someObject = { 
    prop: "test", 
    prop: "test2"  //報錯 
}; 

此外,strict mode 還去掉瞭對with 語句的支持; eval 中聲明的變量也不會在包含域中創建。
最後,建議大傢開始在JS代碼中使用strict mode,更早發現隱藏的錯誤。

作者:WinGeek

You May Also Like