1、意外的全局变量
functionfoo(arg){ bar="thisisahiddenglobalvariable"; }
bar没被声明,会变成一个全局变量,在页面关闭之前不会被释放。
2、忽略的计时器或回调函数
varsomeResource=getData(); setInterval(function(){ varnode=document.getElementById('Node'); if(node){ //处理node和someResource node.innerHTML=JSON.stringify(someResource)); } },1000);
3、闭包,闭包可以维持函数内局部变量,使其得不到释放。解决方法为将事件处理函数定义为外部。
解除封闭包,或者在定义事件处理函数的外部函数中,删除对dom的引用。
functionbindEvent(){ varobj=document.createElement('xxx') obj.onclick=function(){ //Evenifitisaemptyfunction } }
以上就是JavaScript引发内存泄漏的情况,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容