作者:妈妈说称号长的人很牛也 | 来源:互联网 | 2023-09-24 07:59
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中引发内存泄漏的情况有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程笔记行业资讯频道了解更多相关知识。