javascript – 从内存中删除HTML元素(DOM节点)

根据 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的垃圾收集器为你做了所有工作.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...