我需要在我的代码中删除一个对象。所以我使用了 "delete" 关键字,但是在使用后,我仍然能够获取该值。
var test= {};
test[0]="111";
test[1]="555";
delete test;
alert(test[0])
我需要在我的代码中删除一个对象。所以我使用了 "delete" 关键字,但是在使用后,我仍然能够获取该值。
var test= {};
test[0]="111";
test[1]="555";
delete test;
alert(test[0])
如果使用var
关键字声明的局部变量是不能删除的。
你只能删除对象的属性,这也包括全局变量,因为全局变量是window
对象的隐式属性。
正如已经提到的,你无法删除使用var
声明的变量。
例如,如果你将代码更改为以下形式——使test
成为window
的显式属性——则删除操作将起作用。
window.test = [];
window.test[0]="111";
window.test[1]="555";
delete window.test;
alert(window.test[0]);
delete
时,它会返回一个布尔值,告诉我们它是否能够删除变量。在这种情况下,它返回 false
:delete test; // false
test
设置为 undefined
:test = undefined;
你可以使用 test = undefined
来删除对象的值