我需要删除一个对象。所以我使用“删除”关键字,但使用后,我可以再次获得该值
var test= {};
test[0]="111";
test[1]="555";
delete test;
alert(test[0])
答案 0 :(得分:3)
您不能delete
使用var
声明的局部变量。
您只能删除对象的属性 - 这恰好还包括全局变量,这些变量是window
对象的隐式属性。
答案 1 :(得分:3)
您可以在对象上delete
属性,但不能delete
个变量。
指定undefined
或让变量超出范围。
答案 2 :(得分:1)
每当delete
时,它返回一个布尔值,告诉它是否可以删除var。在这种情况下,它返回false
:
delete test; // false
您可以将test
设置为undefined
:
test = undefined;
答案 3 :(得分:1)
如前所述,您无法删除已使用var
声明的变量。
例如,如果您要将代码更改为以下内容 - 以便test
是window
的显式属性 - 删除将起作用。
window.test = [];
window.test[0]="111";
window.test[1]="555";
delete window.test;
alert(window.test[0]);
答案 4 :(得分:0)
您可以使用test = undefined
来删除对象值