1. 程式人生 > >JS嚴格模式下常見問題彙總

JS嚴格模式下常見問題彙總

開啟嚴格模式(”use strict”):
在全域性程式碼的開始處加入

1:在物件中宣告相同的屬性名

例如:

var obj ={
‘name’: 1,
‘name’: 2
};

會丟擲SyntaxError: Duplicate data property in object literal not allowed in strict mode.

2:在函式宣告中相同的引數名

例如: “use strict”:

 function fix(a,b,a) {     

     return a+b;     

 }

會丟擲 SyntaxError: Strict mode function may not have duplicate parameter names .

3:不能用前導0宣告8進位制直接量

例如: var a = 012;

會丟擲 SyntaxError: Octal literals are not allowed in strict mode.

4: 不能重新宣告、刪除或重寫eval和arguments這兩個標示符

var eval = ……;

會丟擲 SyntaxError: Assignment to eval or arguments is not allowed in strict mode

5:用delete刪除顯示宣告的識別符號、名稱和具名函式

function temp() {
‘use strict’;
var test = 1;
delete test;
}

會丟擲 SyntaxError: Delete of an unqualified identifier in strict mode.

6.程式碼中使用擴充套件的保留字,例如 interface,let,yield,package,private等

會丟擲SyntaxError: Unexpected strict mode reserved word

7.嚴格模式下是禁止使用with的

會丟擲 SyntaxError: Strict mode code may not include a with statement

相關推薦

JS嚴格模式常見問題彙總

開啟嚴格模式(”use strict”): 在全域性程式碼的開始處加入 1:在物件中宣告相同的屬性名 例如: var obj ={ ‘name’: 1,

js嚴格模式this指向

1. 全域性作用域中的this 在嚴格模式下,在全域性作用域中,this指向window物件 "use strict"; console.log("嚴格模式");

ES6的let須在js嚴格模式才能執行

今天偶然翻到了js中解釋閉包一道經典的題目,如下: 看到這個大家應該都很熟悉,不管點選哪個,最後打印出來的結果都是3。 這個閉包的問題網上有很多解釋,我就不詳細的闡述了,今天想講的是ES6的let關鍵字在js中的執行問題。 當我這樣的時候:   在瀏覽

JS嚴格模式

span 編輯 -a -s tex center style nbsp pan 如何開啟嚴格模式? 在js中,只需要在頂部添加“use strict”,即可進入嚴格模式 在函數中加上“use strict”編輯指示,也可以指定函數在嚴格模式下執行, 如 function d

js---嚴格模式

基於es3.0和es5.0新增的方法使用的,es3.0和es5.0產生矛盾的地方在嚴格模式下就是採用的es5.0,否則js解析採用es3.0 注意:"use strict"要放在邏輯的最頂端(程式碼的最頂端,有作用範圍,在函式最頂端就是當前函式採取嚴格模式) 嚴格模式: 1.不允許用with(

JS 基礎篇(五):JS嚴格模式

目錄: 一、嚴格模式介紹 除了正常執行模式,ECMAscript 5添加了第二種執行模式:“嚴格模式”(strict mode)。顧名思義,這種模式使得Javascript在更嚴格的條件下執行。 設立"嚴格模式"的目的,主要有以下幾個: 消除Javascr

淺談js嚴格模式 use strict

嚴格模式是一種特殊的執行模式,它修復了部分語言上的不足,提供更強的錯誤檢查,並增強安全性 "use strict": 1.不允許使用with語法 2.所有變數必須宣告,不然賦值給未宣告的變數會報錯,而不是隱式宣告全域性變數 3.通過eval方法建立的變數,將被分為獨立的作用

js嚴格模式——arguments變為引數的靜態副本

show u the code ! //一般模式 ! function (a){ arguments[0]=100; console.log(a);//undefined }(); ! function (b){

Vuex 嚴格模式 form表單處理 比官網更好的辦法

# Vuex form表單處理 比官網更好的辦法 > 問題, 當使用vuex的state作為表單的v-model元素, 雖然簡單粗暴, 但這種修改沒有經過mutation方法. 在嚴格模式下會丟擲錯誤 [TOC] ## 1. 錯誤提示 錯誤程式碼如下 ![](http://cdn.xia

前端開發常見問題之Swiper.js的loop模式,如何正確獲取索引值?

Swiper.js,相信作為前端開發者的你一定知道它吧。它幾乎可以用來製作任何形式的輪播圖,非常方便和實用。 有時候,我們需要動態獲取當前輪播圖的索引值,常常我們會使用activeIndex屬性來獲取。比如像這樣: 然而,當輪播圖需要設定迴圈時,我們就不能使用ac

js 要寫嚴格模式

ges .cn png 但是 模式 images http 技術 手機端 js 為了能在移動端通用,要寫嚴格模式: 這裏多了個逗號,在pc上瀏覽器可以通過,但是在手機端就不能。js 要寫嚴格模式

js的解析順序 作用域 嚴格模式

步驟 就會 function 介紹 知識 bsp 建議 作用域 嚴格模式 一、javascript的解析順序   我們大家所理解的代碼的執行順序都是從上到下的,但是實際上確不是這樣的。我們看一下下面的代碼。    1 alert(a); 2 var a = 1;   如

什麽是js嚴格模式

for ++ .html 運行速度 原因 報錯 增加 col 版本  設立嚴格模式的原因:   - 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;   - 消除代碼運行的一些不安全之處,保證代碼運行的安全;   - 提高編譯器效率,增加運行速度;

js嚴格模式

gpo color UNC div 定義 pre func 文檔 post 我們在js中可以使用"use strict";定義了我們在接下來的文檔輸寫中 將按照嚴格模式進行; function(){ "use strict‘; var a=10;// 在這

js嚴格模式

AR ack 其他 要求 nts 讀屬性 什麽 嚴格模式 ram 什麽是嚴格模式? 使JS編碼更加規範化的模式,消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為 怎麽使用? 直接添加下面的這句字符串就可以了,這種語法可以向後兼容,如果是不支持嚴格模式的

js中的嚴格模式和非嚴格模式的比較

全局變量 賦值 cat 範圍 瀏覽器 進制 函數調用 使用 err 前言 es5的嚴格模式是采用具有限制性JavaScript變體的一種方式,從而使代碼顯示地脫離‘懶散模式/非嚴格模式’ 嚴格模式 嚴格模式通過拋出錯誤來消除一些原有靜默錯誤 嚴格模式修復了一些導致Java

IIS7的整合模式如何讓自定義的HttpModule不處理靜態檔案(.html .css .js .jpeg等)請求

轉載:https://www.cnblogs.com/opencoder/p/5854454.html ASP.NET 4.0後Web.config檔案的Module配置節點有一個可選項叫preCondition如下面程式碼所示: <system.webServer> <mod

JS嚴格模式 與 非嚴格模式

一 .      嚴格模式                1.     使

js陣列剪刪除拼接替換方法彙總

1.concat concat()方法可以基於當前陣列中的所有項建立一個新的陣列,具體來說,這個方法會先建立愛你當前陣列的一個副本,然後將接受到的引數新增到副本的末尾,最後返回新構建的陣列。在沒有給concat()傳遞引數的情況下,它只複製當前陣列並返回副本。 2.slice sli

[Web 前端] mobx教程(五)-Mobx常見問題及解決方案(1)Mobx使用嚴格模式

copy from : https://blog.csdn.net/smk108/article/details/83185745 mobx在嚴格模式下,不允許在 action 外更改任何狀態。但是不同版本嚴格模式的用法不同,3.x、4.x、5.x三個版本下的嚴格模式用法。 1、[email&#