var obj = {
destroy: function(){this = null;}
};
obj.destroy();
这在 Chrome 中有效,但是 firefox 出于某种原因抛出引用此错误。有没有更好的方法在一个方法中杀死这个对象?
错误:
invalid assignment left-hand side
[Break On This Error] destroy: function(){this = null;}
最佳答案
不确定为什么 Chrome 允许它,但你不能为此分配一个值。您可以引用它,但不能为其赋值。
如果您想要执行一些数组销毁操作,您可以在销毁方法中引用 this.myArrayName 并释放您要释放的任何内容,但您不能只将 null 分配给 this 来销毁实例。
我想你可以尝试这样的事情:
var foo = {
// will nullify all properties/methods of foo on dispose
dispose: function () { for (var key in this) this[key] = null; }
}
foo.dispose();
几乎可以合法地使“this”无效......
快乐编码。
B
关于javascript - 如何在 Javascript crossbrowser 中删除一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6794369/