本文爲 H5EDU 機構官方 HTML5培訓 教程,主要介紹:JavaScript強化教程 —— 嚴格模式
html
avaScript 嚴格模式(use strict) JavaScript 嚴格模式(strict mode)即在嚴格的條件下運行。 使用 "use strict" 指令 "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。 它不是一條語句,可是是一個字面量表達式,在 JavaScript 舊版本中會被忽略。 "use strict" 的目的是指定代碼在嚴格條件下執行。 嚴格模式下你不能使用未聲明的變量。 嚴格模式的限制 不容許使用未聲明的變量: "use strict"; x = 3.14; // 報錯 (x 未定義) Note 對象也是一個變量。 "use strict"; x = {p1:10, p2:20}; // 報錯 (x 未定義) 不容許刪除變量或對象。 "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; // 報錯 不容許對一個使用getter方法讀取的屬性進行賦值 "use strict"; var obj = {get x() {return 0} }; obj.x = 3.14; // 報錯 不容許刪除一個不容許刪除的屬性: "use strict"; delete Object.prototype; // 報錯 變量名不能使用 "eval" 字符串: "use strict"; var eval = 3.14; // 報錯 變量名不能使用 "arguments" 字符串: "use strict"; var arguments = 3.14; // 報錯 不容許使用如下這種語句: "use strict"; with (Math){x = cos(2)}; // 報錯 因爲一些安全緣由,在做用域 eval() 建立的變量不能被調用: "use strict"; eval ("var x = 2"); alert (x);