嚴格模式就是使javascript在更嚴格的條件下運行。javascript
2.1 消除一些javascript語法一些不合理、不嚴謹之處,減小一些怪異行爲;java
2.2 消除代碼運行的一些不安全之處,保證代碼運行的安全;安全
2.3. 提升編譯器效率,增長運行速度;函數
2.4. 爲將來新版本的Javascript作準備,能夠說預留了接口;this
3.1 進入嚴格模式,使用「use strict」;spa
3.2 嚴格模式下一些語法和行爲有變化,全局變量顯示聲明,都要先使用 var聲明變量;對象
靜態綁定,禁止使用with語句;接口
建立eval()做用域;ip
禁止this關鍵字指向全局對象;作用域
禁止在函數內部遍歷調用棧;
禁止刪除變量;顯示報錯,對一個只讀對象進行賦值報錯,對禁止擴展的對象添加新屬性,禁止刪除一個不可刪除的屬性;
重名錯誤;
arguments對象的限制:不容許對arguments賦值;arguments再也不追蹤參數的變化;禁止使用arguments.callee;
函數必須聲明在最頂層;
保留字:implements, interface, let, pakeage, private, protected, public, static, yield;