1. 程式人生 > 程式設計 >JavaScript 嚴格模式(use strict)用法例項分析

JavaScript 嚴格模式(use strict)用法例項分析

本文例項講述了JavaScript 嚴格模式(use strict)用法。分享給大家供大家參考,具體如下:

使用"use strict" 的目的是指定程式碼在嚴格條件下執行。

嚴格模式通過在指令碼或函式的頭部新增 "use strict"; 表示式來宣告。

不允許使用未宣告的變數。

"use strict";
myFunction();
function myFunction() {
  y = 3.14;  // 報錯 (y 未定義)
}

在函式內部宣告是區域性作用域 (只在函式內使用嚴格模式):

x = 3.14;    // 不報錯 
myFunction();
function myFunction() {
  "use strict";
  y = 3.14;  // 報錯 (y 未定義)
}

不允許刪除變數或物件

"use strict";
var x = 3.14;
delete x;        // 報錯

不允許刪除函式。

"use strict";
function x(p1,p2) {}; 
delete x;        // 報錯 

不允許變數重名:

"use strict";
function x(p1,p1) {};  // 報錯

不允許使用八進位制:

"use strict";
var x = 010;       // 報錯

不允許使用轉義字元:

"use strict";
var x = \010;      // 報錯

不允許對只讀屬性賦值:

"use strict";
var obj = {};
Object.defineProperty(obj,"x",{value:0,writable:false});
obj.x = 3.14;      // 報錯

不允許刪除一個不允許刪除的屬性:

"use strict";
delete Object.prototype; // 報錯

變數名不能使用 "eval" 字串:

"use strict";
var eval = 3.14;     // 報錯

變數名不能使用 "arguments" 字串:

"use strict";
var arguments = 3.14;  // 報錯

禁止this關鍵字指向全域性物件

為什麼使用嚴格模式:

  • 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;
  • 消除程式碼執行的一些不安全之處,保證程式碼執行的安全;
  • 提高編譯器效率,增加執行速度;
  • "嚴格模式"體現了Javascript更合理、更安全、更嚴謹的發展方向,包括IE 10在內的主流瀏覽器,都已經支援它。

感興趣的朋友還可以使用本站線上HTML/CSS/JavaScript程式碼執行工具:http://tools.jb51.net/code/HtmlJsRun測試上述程式碼執行結果。

更多關於JavaScript相關內容還可檢視本站專題:《javascript面向物件入門教程》、《JavaScript錯誤與除錯技巧總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript遍歷演算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程式設計有所幫助。