根据
mdn documentation,方法removeChild从DOM中删除一个节点,但它仍然驻留在内存中.
我的问题是我也想从内存中删除它.
我尝试过删除操作符,但对象仍然存在…
我的问题是我也想从内存中删除它.
我尝试过删除操作符,但对象仍然存在…
myCanvas.parentElement.removeChild(myCanvas); // myCanvas actually removed from DOM delete myCanvas; // false. does nothing alert(myCanvas); // shows HTMLCanvasElement instead of undefined
解决方法
读取
http://perfectionkills.com/understanding-delete/.删除操作符不适用于变量(这就是它返回false的原因).
如果要删除变量对DOM节点的引用,请使用
myCanvas = null;
覆盖该值.通常你永远不需要这样做,因为JS的垃圾收集器为你做了所有工作.