1. 程式人生 > >javascript中的嚴格模式

javascript中的嚴格模式

嚴格模式: 不允許使用with 1 所有變數必須宣告,賦值給未宣告的變數報錯,而不是隱式建立全域性變數。 2 eval中的程式碼不能建立eval所在作用域下的變數、函式。而是為eval單獨建立一個作用域,並在eval返回時丟棄。 3 函式中得特殊物件arguments是靜態副本,而不像非嚴格模式那樣,修改arguments或修改引數變數會相互影響。 4 刪除configurable=false的屬性時報錯,而不是忽略 5 禁止八進位制字面量,如010(八進位制的8) 6 evel,arguments變為關鍵字,不可作為變數名、函式名 7 一般函式呼叫時(不是物件的方法呼叫,也不使用apply/call/bind等修改this)this指向null,而不是全域性物件。若使用apply/call,當傳入null或undefined時,this將指向null或undefined,而不是全域性物件。 8 試圖修改不可寫屬性(writable=false),在不可擴充套件的物件上新增屬性時報TypeError,而不是忽略。 9 arguments.caller,arguments.callee被禁用