1. 程式人生 > >JavaScript語法支援嚴格模式:”use strict

JavaScript語法支援嚴格模式:”use strict

如果給JavaScript程式碼標誌為“嚴格模式”,則其中執行的所有程式碼都必然是嚴格模式下的。
其一:如果在語法檢測時發現語法問題,則整個程式碼塊失效,並導致一個語法異常。
其二:如果在執行期出現了違反嚴格模式的程式碼,則丟擲執行異常。

注:經過測試IE6,7,8,9均不支援嚴格模式。

JavaScript程式碼“嚴格模式”使用方法:
嚴格模式需要使用字串序列:

"use strict"

在如下位置加入可以開啟相應程式碼塊中的嚴格模式:
1.必須在全域性程式碼的開始處加入。
2.在eval程式碼開始處加入。
3.在函式宣告程式碼開始處加入。
4.在new Function()所傳入的body引數塊開始加入。

例1:

var num =012;alert(num);

在非嚴格模式下,可以使用0(零)開頭字首宣告8進位制。顯示10。

但是在嚴格模式下,會產生錯誤。

"use strict";

var num =012;

alert(num);

測試結果:
IE6,7,8,9均顯示10。
FF報錯:octal literals and octal escape sequences are deprecated
Chrome報錯:Uncaught SyntaxError: Octal literals are not allowed in strict mode.
Opera報錯:Syntax error at line 3 while loading: Invalid character var num = 012;

如果使用嚴格模式,除了0(零)開頭字首8進位制以外還有:
1.在程式碼中不能使用一些擴充套件的保留字:
implements,interface,let,package,private,public,static,yield
2.with語句也不能使用。
3.不能宣告或重寫eval和arguments兩個識別符號。
4.不能用delete 刪除顯式宣告的識別符號,名稱或具名函式。