0%

JavaScript 核心 (21) - 物件 - 變數及物件屬性的差異

變數無法被刪除

直接宣告變數時,會是建立在window底下

1
2
var a = 1;
console.log(window.a); /* 1 */

而不使用 var 宣告呢?

1
2
3
4
var a = 1;
console.log(window.a); /* 1 */
b = 2;
console.log(window.b); /* 2 */

同樣都出現在 window 底下,那麼我們就來刪除看看吧!

1
2
var a = 1;
delete a; /* false */
1
2
b = 2;
delete b; /* false */

由此可知,變數是無法透過 delete 刪除的。

參考資料

六角學院 - JavaScript 核心篇
JavaScript 核心觀念(23)-物件-額外補充:變數及物件屬性的差異