JavaScript中引发内存泄漏的情况有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
JavaScript的特点
1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScript可以直接嵌入到HTML页面,但写成单独的js文件有利于结构和行为的分离。3.JavaScript具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行。
1、意外的全局变量
function foo(arg) { bar = "this is a hidden global variable";}
bar没被声明,会变成一个全局变量,在页面关闭之前不会被释放。
2、忽略的计时器或回调函数
var someResource = getData();setInterval(function() { var node = document.getElementById('Node'); if(node) { // 处理 node 和 someResource node.innerHTML = JSON.stringify(someResource)); }}, 1000);
3、闭包
闭包可以维持函数内局部变量,使其得不到释放。解决方法为将事件处理函数定义为外部,解除封闭包,或者在定义事件处理函数的外部函数中,删除对dom的引用。
function bindEvent(){ var obj=document.createElement('xxx') obj.onclick=function(){ // Even if it is a empty function }}
关于JavaScript中引发内存泄漏的情况有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。