js的嚴格模式會放棄js中的一些不正規的寫法,參考
使用宣告"use strict"字串可以啟動js嚴格模式的檢查,作用方式分為兩種。
1 全域性開啟嚴格模式檢查
那麼這個"use strict"字串可以宣告到
這樣認為在整個標記內開啟嚴格模式。如果該**塊中呼叫了其它**塊中的**,那麼存在另乙個**塊中的**也不會由於該中宣告了"use strict"而進行嚴格檢查,除非另乙個**塊中仍然在最頂端存在"use strict";
2 方法內部開啟嚴格模式檢查
如果將"use strict"字串宣告到方法內部,如下:
functiona()
function
b()
就是在a方法內部使用嚴格模式,而不會去干涉b方法中的**是否遵循嚴格模式。如果b方法中涉及arguments.callee.caller**,尋找上級的呼叫方法,並且剛好尋找到a方法所在的呼叫,則在ie10及以上的瀏覽器中會丟擲:「strict 模式下不允許訪問函式或引數物件的"caller"屬性」的異常,而chrome瀏覽器會提示caller為空,並不丟擲異常。如果在全域性模式下使用如arguments.callee.caller這類**,無論出現在任何呼叫位置,ie chrome都會丟擲異常***
嚴格模式(use strict)
es6自帶嚴格模式,也就是說在es5公升入es6的時候,第乙個要做的就是將一些非嚴格模式的 修改。嚴格模式的優點 處理一些不合理,不嚴謹,未宣告的 問題 規範化 提高編譯器的速度,保證 執行的安全 消除 中一些不安全之處,保證 執行安全 為未來的新版本js做好鋪墊 注意 1 在es5中,賦值給未宣告...
js 嚴格模式
基於es3.0和es5.0新增的方法使用的,es3.0和es5.0產生矛盾的地方在嚴格模式下就是採用的es5.0,否則js解析採用es3.0 注意 use strict 要放在邏輯的最頂端 的最頂端,有作用範圍,在函式最頂端就是當前函式採取嚴格模式 嚴格模式 1.不允許用with with可以改變作...
js 嚴格模式
簡單整理一下js嚴格模式下的變化。整理 mdn 部分 測試環境 chrome 76.0.3809.132 use strict mistypedvaraible 17 這一行 就會丟擲 referenceerror。不可以不寫宣告 主流瀏覽器現在實現了嚴格模式。但是不要盲目的依賴它,因為市場上仍然有...