天天看點

“use strict” 嚴格模式

    ES5中引入了嚴格模式(strict mode),為JavaScript定義了一種新的解析與執行模型。嚴格模式下,ES3中的一些不确定的行為将得到處理,某些不安全的操作也會抛出錯誤。
1、作用

    (1)消除了JS中一些不規範、不嚴謹的地方,減少一些怪異行為;

    (2)對于某些不安全的代碼操作抛出錯誤,提高安全性;

    (3)提高編譯器的效率,提高運作速度

2、限制

    (1)變量必須先聲明後使用,不能delete一個全局變量;

    (2)函數的參數不可同名(非嚴格模式下隻能通路同名參數中的第二個),對象屬性不可同名(非嚴格模式下後面的會自動覆寫前面的)

        嚴格模式下不會改變形參

function show(value){
		'use strict'
		value='abc';
		alert(value);
		alert(arguments[0]);
	}
	show('hi');//abc,hi
           

    (3)禁止八進制的使用

    (4)不能使用with語句

    (5)不能删除不可删除的屬性

    (6)不能使用arguments.callee方法

    (7)增加了保留字:protected static interface等

    (8)建立了eval()作用域

    (9)顯示報錯

3、缺點

    (1)某些正常模式下可以運作的語句,到了嚴格模式下可能無法運作

    (2)不夠靈活

4、使用     (1)針對整個腳本檔案,在一段腳本的最開始位置聲明 "use strict"

      (2) 針對某個函數,在一個函數體的第一行聲明"use strict"

繼續閱讀