Js-w3school(2020.2.6)【js嚴格模式(Use Strict)】

二十四、js嚴格模式(Use Strict)

1."use strict"; 定義 JavaScript 代碼應該以“嚴格模式”執行。是 JavaScript 1.8.5 中的新指令(ECMAScript version 5)。"use strict"; 的作用是指示 JavaScript 代碼應該以“嚴格模式”執行。
2. 聲明嚴格模式
通過在腳本或函數的開頭添加 "use strict"; 來聲明嚴格模式。
"use strict" 指令只能在腳本或函數的開頭被識別。
3. 在嚴格模式中,向不可寫的、只能讀取的、不存在的屬性賦值,或者向不存在的變量或對象賦值,將拋出錯誤
4. 嚴格模式中不允許的事項
(1)在不聲明變量的情況下使用變量,是不允許的:

"use strict";
x = 3.14;                // 這將引發錯誤

(2)在不聲明對象的情況下使用對象也是不允許的:

"use strict";
x = {p1:10, p2:20};      // 這將引發錯誤

(3)刪除變量(或對象)是不允許的:

"use strict";
var x = 3.14;
delete x;                // 這將引發錯誤

(4)刪除函數是不允許的:

"use strict";
function x(p1, p2) {}; 
delete x;                 // 這將引發錯誤

(5)重複參數名是不允許的:

"use strict";
function x(p1, p1) {};   // 這將引發錯誤

(6)八進制數值文本是不允許的:

"use strict";
var x = 010;             // 這將引發錯誤

(7)寫入只讀屬性是不允許的:

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

Object.defineProperty()的作用就是直接在一個對象上定義一個新屬性,或者修改一個已經存在的屬性。writable:false表示obj對象的x屬性爲只讀
Object.defineProperty(obj, prop, desc)
·obj 需要定義屬性的當前對象
·prop 當前需要定義的屬性名
·desc 屬性描述符:

數據屬性(數據描述符): Configurable:能否通過 delete 刪除屬性,能否修改屬性的特性,或者能否把屬性修改爲訪問器屬性。
Enumerable:能否通過 for ·· in 或者 Object.key() 枚舉。 Writable:屬性的值能否被修改。
Value:屬性的值,可以是任何有效的 JavaScript 值(數值,對象,函數等) 訪問器屬性(存取描述符):
Get:在讀取屬性時調用的函數。 Set:在寫入屬性時調用的函數。

(8)寫入只能獲取的屬性是不允許的:

"use strict";
var obj = {get x() {return 0} };
obj.x = 3.14;            // 這將引發錯誤

(9)刪除不可刪除的屬性是不允許的:

"use strict";
delete Object.prototype; // 這將引發錯誤

(10)字符串 “eval” "arguments"等保留字不可用作變量:

"use strict";
var eval = 3.14;         // 這將引發錯誤

(11)with 語句是不允許的:

"use strict";
with (Math){x = cos(2)}; // 這將引發錯誤

(12)處於安全考慮,不允許 eval() 在其被調用的作用域中創建變量:

"use strict";
eval ("var x = 2");
alert (x);               // 這將引發錯誤

(13)在類似 f() 的函數調用中,this 的值是全局對象。在嚴格模式中,現在它成爲了 undefined。
(14)嚴格模式中不允許使用爲未來預留的關鍵詞。它們是:

•	implements
•	interface
•	let
•	package
•	private
•	protected
•	public
•	static
•	yield
發佈了53 篇原創文章 · 獲贊 4 · 訪問量 2210
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章