JavaScript語法支持嚴格模式:」use strict」

JavaScript語法支持嚴格模式:」use strict」

若是給JavaScript代碼標誌爲「嚴格模式」,則其中運行的全部代碼都必然是嚴格模式下的。
其一:若是在語法檢測時發現語法問題,則整個代碼塊失效,並致使一個語法異常。
其二:若是在運行期出現了違反嚴格模式的代碼,則拋出執行異常。
函數

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

JavaScript代碼「嚴格模式」使用方法:
嚴格模式須要使用字符串序列:
spa

"use strict"


在以下位置加入能夠開啓相應代碼塊中的嚴格模式:
1.必須在全局代碼的開始處加入。
2.在eval代碼開始處加入。
3.在函數聲明代碼開始處加入。
4.在new Function()所傳入的body參數塊開始加入。
code

例1:orm

var num =012;alert(num);

在非嚴格模式下,能夠使用0(零)開頭前綴聲明8進制。顯示10。ip

可是在嚴格模式下,會產生錯誤。字符串

"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;
get

若是使用嚴格模式,除了0(零)開頭前綴8進制之外還有:
1.在代碼中不能使用一些擴展的保留字:implements,interface,let,package,private,public,static,yield
2.with語句也不能使用。
3.不能聲明或重寫eval和arguments兩個標識符。
4.不能用delete 刪除顯式聲明的標識符,名稱或具名函數
it

更多詳情參加https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Strict_modeio

相關文章
相關標籤/搜索