1. 程式人生 > >Javascript use strict

Javascript use strict

ECMAscript 5添加了第二種支行模式:嚴格模式(strict mode)。

  • 針對單個指令碼 
<script>
    "use strict";
    console.log("這是嚴格模式。");
  </script>
  • 針對單個函式
function strict(){
    "use strict";
    return "這是嚴格模式。";
  }
  function notStrict() {
    return "這是正常模式。";
  }
  • 全域性變數顯示宣告

在正常模式中,如果一個變數沒有宣告就賦值,預設是全域性變數。嚴格模式禁止這種用法,全域性變數必須宣告。

"use strict";
  v = 1; // 報錯,v未宣告
  for(i = 0; i < 2; i++) { // 報錯,i未宣告
  }
  • 禁止this關鍵字指向全域性物件
function f(){
    return !this;
  } 
  // 返回false,因為"this"指向全域性物件,"!this"就是false
  function f(){ 
    "use strict";
    return !this;
  } 
  // 返回true,因為嚴格模式下,this的值為undefined,所以"!this"為true。
  • 禁止刪除變數

嚴格模式下無法刪除變數,只有configurable設定為true的物件屬性,才能刪除 。

"use strict";
  var x;
  delete x; // 語法錯誤
  var o = Object.create(null, {'x': {
      value: 1,
      configurable: true
  }});
  delete o.x; // 刪除成功
  • 函式不能有重名的引數

正常模式下,如果函式有多個重名的引數,可以用arguments[i]讀取,嚴格模式下,這屬於語法錯誤。

"use strict";
  function f(a, a, b) { // 語法錯誤
    return ;
  }

最後歡迎大家訪問我的個人網站:1024s

相關推薦

Javascript use strict

ECMAscript 5添加了第二種支行模式:嚴格模式(strict mode)。 針對單個指令碼  <script>     "use strict";     console.log("這是嚴格模式。");   </script> 針對

JavaScript嚴格模式 "use strict"

1.在嚴格模式下,變數必須顯示宣告(var/let/const),直接給變數賦值,不會隱式建立全域性變數 (function(){ //非嚴格模式 a = 10; console.log(a); //10 })(); (function(){ "use strict"

JavaScript語法支援嚴格模式:”use strict

如果給JavaScript程式碼標誌為“嚴格模式”,則其中執行的所有程式碼都必然是嚴格模式下的。 其一:如果在語法檢測時發現語法問題,則整個程式碼塊失效,並導致一個語法異常。 其二:如果在執行期出現了違反嚴格模式的程式碼,則丟擲執行異常。 注:經過測試IE6,7,

JavaScript嚴格模式(use strict

說明 對於小白們來說(也包括我)也可能都知道JavaScript的變數可以不用宣告就可以直接使用,但是在(ECMAScript5)中新增了嚴格模式,即JavaScript嚴格模式(strict mode)即在嚴格的條件下執行。 支援嚴格模式的瀏

"use strict"詳解

null this .info 版本 變化 屬性 表示法 追蹤 遍歷 參考:http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html 目的: 消除JavaScript語法的一些不合理、不嚴謹之處,

(11) 嚴格模式(use strict)

速度 掌握 未來 嚴格 好的 運行 script mod ict JavaScript 嚴格模式(strict mode)即在嚴格的條件下運行。嚴格模式下你不能使用未聲明的變量。 為什麽使用嚴格模式: 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;

ES5嚴格模式(use strict)筆記

  嚴格模式就是讓js程式碼在更嚴格的環境下執行。 目的: 消除JavaScript語法的不嚴謹和不合理之處,減少怪異行為。 消除程式碼執行的不安全之處,保證程式碼的執行安全。 提高編譯器的效率,增加編譯速度。 為未來新版本的Javascript做好鋪墊

使用babel後js程式碼第一行出現 "use strict";

這是babelES6轉譯ES5自動加上的,使用嚴格模式的意思; 嚴格模式有什麼用? 主要有以下幾個:(錯誤檢測、規範、效率、安全、面向未來)   - 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;   - 消除程式碼執行的一些不安全之處,保證

什麼是“use strict”,好處和壞處

use ‘strict’:"嚴格模式"是一種在JavaScript程式碼執行時自動實行更嚴格解析和錯誤處理的方法。這種模式使得Javascript在更嚴格的條件下執行。最好只在函式內使用嚴格模式。例如:function doSomething() { “use strict”

js 'use strict' & plupload

1.標記 嚴格模式後 其一:如果在語法檢測時發現語法問題,則整個程式碼塊失效,並導致一個語法異常。 其二:如果在執行期出現了違反嚴格模式的程式碼,則丟擲執行異常。 注:經過測試IE6,7,8,9均不支援嚴格模式。 缺點: 現在網站的JS 都會進行壓縮,一些檔案用了嚴格模式

"use strict" 的意義和好處

ES6的模組自動採用嚴格模式,不管你有沒有在模組頭部加上"use strict" 嚴格模式主要有以下限制: 變數必須聲明後再使用 函式的引數不能有同名屬性,否則報錯 不能使用with語句 不能對只讀屬性賦值,否則報錯 不能使用字首0表示八進位制數,否則報錯 不能

use strict” 嚴格模式

    ES5中引入了嚴格模式(strict mode),為JavaScript定義了一種新的解析與執行模型。嚴格模式下,ES3中的一些不確定的行為將得到處理,某些不安全的操作也會丟擲錯誤。1、作用    (1)消除了JS中一些不規範、不嚴謹的地方,減少一些怪異行為;   

是否該使用嚴格模式?use strict

其實這篇文章是在2012年就寫的,想想自己落後了幾年了。很早一段時間我就看到過介紹嚴格模式的文章,但當時還是沒有重視,因為兩種模式下的區別還是挺大的,長年的書寫習慣讓我不太想去改變。但後來在我優化自己的程式碼的過程中發現,目前的程式碼確實是有點‘亂’,除了原本程

淺談js嚴格模式 use strict

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

use strict 使用方法-簡單說

// file.js "use strict" function doStuff(){     // use strict is enabled here! } 這樣佻的file.js都會應用上"use strict"模式。如果你僅想在一個函式中使用:// file.js function a(){

webpack取消嚴格模式打包use strict

有時候用webpack打包,引入的require檔案中有報錯,是由於嚴格模式引起的。es6自動打包成es5會加上嚴格模式。如何取消掉,直接在webpack配置檔案中設定: var config = { entry: { home: buildBund

在嚴格模式中"use strict"

"use strict";     //在嚴格模式中     //1、定義一個變數必須是用var關鍵字     //2、物件的屬性名不能重複     //3、arguments改變引數的值不可以對映到

use strict 的用法

"use strict"是JavaScript中一個非常好的特性,而且非常容易使用。 使用方法 // file.js "use strict" function doStuff(){     // use strict is enabled here! } 這樣的file.

關於JavaScriptya‘use strict’的使用

1.什麼是嚴格模式? ECMAScript 5包括兩種執行模式:正常模式和嚴格模式。嚴格模式,‘use strict’,是的JavaScript在更嚴格的條件下執行。 2.為什麼使用嚴格模式? 1)消除JavaScript語法一些不嚴謹不合理的地方,減少怪異行為,更方便小

Javascript 嚴格模式(strict mode)詳解

eval ref 條件 ssa for this關鍵字 表示法 ocs 行為 Javascript 嚴格模式詳解 一、概述 除了正常運行模式,ECMAscript 5添加了第二種運行模式:"嚴格模式"(strict mode)。顧名思義,這種模式使得Jav