我试过了,但delete
没有用。
var x = {"y":42,"z":{"a":1,"b":[1,2,3]}};
alert(x.y);
delete x;
alert(x.y); // still shows '42'
如何删除整个对象跨浏览器?
编辑:
x = null
也不起作用
我试过了,但delete
没有用。
var x = {"y":42,"z":{"a":1,"b":[1,2,3]}};
alert(x.y);
delete x;
alert(x.y); // still shows '42'
如何删除整个对象跨浏览器?
编辑:
x = null
也不起作用
只能使用 delete 运算符删除隐式声明的变量,而不能删除使用 var 声明的变量。您可以设置 x = null 或 x = undefined
您不能删除变量或函数。只是对象的一个属性。您可以简单地分配:
x = null;
如果你想清除它的值。
更新:关于功能的说明:
>> function f1() {console.log("aa");}
>> f1();
aa
>> delete f1;
false
>> f1();
aa
但是如果将全局函数声明为窗口属性,则可以将其删除:
>> f1 = f1() {console.log("aa");}
>> delete window.f1;
true
变量也是如此:
>> a = "x";
>> console.log(a);
x
>> delete window.a;
true
>> console.log(a);
ReferenceError: a is not defined
但:
>> var a = "x";
>> console.log(a);
x
>> delete a;
false
>> console.log(a);
x
您不需要在 JavaScript 中删除对象。在删除对它的所有引用后,该对象将被垃圾收集。要删除引用,请使用:
x = null;
您不能从 Javascript 的全局命名空间中删除对象。
您可以delete
在 内创建对象x
,但不能在x
其内创建对象。
尝试x = null;
或x = undefined;
。