JavaScript es5嚴格模式的說明

2021-08-22 00:08:12 字數 378 閱讀 3364

現在的瀏覽器是基於es3.0和es5.0的一些新增的方法使用的。

但是,es3.0和es5.0有衝突的部分,這時要是啟用es5.0嚴格模式,那麼es3.0和es5.0產生衝突的部分就是使用es5.0的,否則使用es3.0(也是一般情況下,不啟用嚴格模式的情況下)。

今天我們**「衝突的部分用es5.0(在嚴格模式下)是怎麼解決的?」

1.使用with(){}會報錯。

2.arguments.callee和function.caller在嚴格模式下不能使用。

3.變數賦值前必須宣告。

4.區域性的this必須賦值,預編譯過程不再指向window。

5.重複屬性或重複引數是會報錯的。

6.eval(「」) es3.0都不能使用。

ES5 嚴格模式

在es5中可以開啟一種嚴格模式的 形式,開啟方式是 將全域性或者函式的第一條語句定義為 use strict 如果瀏覽器不支援,會將其解析為一條普通語句,沒有任何的 開啟全域性模式後會有一下的一些約束 1.第一次定義變數的時候必須使用var。如 test heihei alert test 該語句在...

es5嚴格模式

es3和es5產生衝突的部分使用es5的方法,否則使用es3 use strict 變數賦值前必須宣告,var a b 2 b沒有定義 區域性this必須被賦值 賦給什麼就是什麼 拒絕重複屬性和引數 arguments.calle 不能被使用 function.caller with 改變作用域鏈 ...

ES5 嚴格模式

歷史 es5 2009年發布 es6 es2015 es7 es2016 在早期規範確立之前js在瀏覽器中執行時,每個瀏覽器都有定義一套自己的套路,這個被稱為混炸模式,或者怪異模式 隨著ecma js 等確立新的規範 故名思意 這種模式使用js在更嚴格的語法條件下執行,為 的執行保駕護航 1 在全域...