如何从JavaScript窗口中删除对象

5

我需要在我的代码中删除一个对象。所以我使用了 "delete" 关键字,但是在使用后,我仍然能够获取该值。

var test= {};
test[0]="111";
test[1]="555";
delete test;
alert(test[0])
5个回答

7

如果使用var关键字声明的局部变量是不能删除的。

你只能删除对象的属性,这也包括全局变量,因为全局变量是window对象的隐式属性。


5

正如已经提到的,你无法删除使用var声明的变量。

例如,如果你将代码更改为以下形式——使test成为window的显式属性——则删除操作将起作用。

window.test = [];
window.test[0]="111";
window.test[1]="555";
delete window.test;
alert(window.test[0]);

5
你可以删除对象上的属性,但无法删除变量。要么将其赋值为 undefined,要么让变量超出作用域。

1
每当使用 delete 时,它会返回一个布尔值,告诉我们它是否能够删除变量。在这种情况下,它返回 false
delete test;    // false

你可以将 test 设置为 undefined
test = undefined;

0

你可以使用 test = undefined 来删除对象的值


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接