JavaScript嚴格模式與非嚴格模式之間的區別

2021-08-07 13:30:30 字數 855 閱讀 3943

嚴格模式

非嚴格模式

禁止使用with語句

允許使用with語句

所有變數要先宣告

使用未宣告的變數將隱式宣告為全域性變數

函式(非方法)中的thisundefinedthis是全域性物件

給唯讀屬性和不可擴充套件的物件建立新成員將丟擲型別錯誤異常

只是簡單的操作失敗

傳入eval()的**不能在定義變數和函式

變數和函式定義在eval()建立的新作用域中

函式中的arguments物件擁有傳入函式值的靜態副本

delete後跟非法識別符號將丟擲語法錯誤異常

只是簡單的返回false

delete刪除不可配置的屬性將丟擲型別錯誤異常

只是簡單的返回false

在物件直接量中定義多個同名屬性將產生語法錯誤

不會報錯

函式宣告存在多個同名的引數將產生語法錯誤

不會報錯

不允許使用八進位制直接量

某些實現是允許的

evalarguments當作關鍵字,並且不允許更改

限制了對棧的檢測能力,arguments.callerarguments.callee將丟擲型別錯誤異常

var hasstrictmode = function

()

MySQL 嚴格模式與非嚴格模式

檢視 mysql 是否是嚴格模式 select sql mode 如果顯示包含 strict trans tables 或 strict all tables,則代表 mysql 開啟了嚴格模式 反之,是非嚴格模式 非嚴格模式是乙個相對概念 對於 innodb 引擎來說,strict trans t...

深入淺出Javascript 嚴格模式

在js檔案或是函式的頂部 前無語句,可有注釋 新增 use strict 即可啟用嚴格模式。全域性開啟嚴格模式 use strict 函式內部開啟嚴格模式 function asd for i 0 i 5 i 新手常犯錯誤 use strict 給不可寫屬性賦值 var obj1 object.de...

嚴格模式與混雜模式

嚴格模式 又稱標準模式,是指瀏覽器按照 w3c 標準解析 混雜模式 又稱怪異模式或相容模式,是指瀏覽器用自己的方式解析 區分方法 如果文件包含嚴格的 doctype 那麼它一般以嚴格模式呈現。包含過渡 dtd 和 uri 的 doctype 也以嚴格模式呈現,但有過渡 dtd 而沒有 uri 統一資...