`
highfly-s
  • 浏览: 96993 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

闭包内存泄露

 
阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
//由于IE对javascript 对象和COM对象使用不同的垃圾收集例程,因此闭包在IE中会导致一些特殊的问题。具体来说,如果闭包的作用域链中保存着一个HTML元素,那么就意味着该元素将无法销毁。


//触发assign2  element一直占用内存。由于匿名函数保存了一个对assign2  ()的活动对象的引用,因此就会导致无法减少element的引用数
function assign2(){
 var element=document.getElementById('td');
 element.onclick=function(){
  
  alert(element.id);
  }
}


//解决内存泄露
function assign(){
 var element=document.getElementById('td');
 var id=element.id;
 element.onclick=function(){
  
  alert(typeof element);
  }
 element=null; 
}
</script>
</head>

<body>
<a href="javascript:assign()">你好朋友</a>

<div id="td" style="width:200px; height:200px; background-color:#F00; border:#666 solid 1px;"></div>
</body>
</html>

分享到:
评论

相关推荐

    内存泄露,闭包 内存泄露,闭包 内存泄露,闭包

    内存泄露,闭包 内存泄露,闭包 内存泄露,闭包

    解决js函数闭包内存泄露问题的办法

    主要通过举例介绍了解决js函数闭包内存泄露问题的办法,感兴趣的小伙伴们可以参考一下

    闭包和内存泄漏1

    闭包和内存泄漏1

    浅谈js 闭包引起的内存泄露问题

    主要介绍了浅谈js 闭包引起的内存泄露问题的相关资料,需要的朋友可以参考下

    JavaScript闭包技术及IE内存泄漏分析.pdf

    JavaScript闭包技术及IE内存泄漏分析

    Javascript 闭包引起的IE内存泄露分析

    代码如下: function fors(){ obj_a = obj_b... 但闭包的内存泄露,有些隐蔽。因为闭包的循环引用,是间接的。 代码如下: function iememery(){ var js_obj = document.createElement(“div”); js_obj.oncontextmenu = f

    vue使用中的内存泄漏【推荐】

    今天看到一篇关于js使用中内存泄露的文章,以及chrom浏览器查看内存泄漏的方法,决定留着。本文只截取了我认为比较重要的部分,喜欢原文的小伙伴,请点击文章下方的原文链接。 什么是内存泄露?内存泄露是指new了一...

    JS闭包、作用域链、垃圾回收、内存泄露相关知识小结

    闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。 闭包是javascript语言的一大特点,主要应用闭包场合主要是为了:设计私有的方法和变量。 一般函数执行完毕后,局部活动

    JS常见内存泄漏及解决方案解析

    内存泄漏? 官方解释:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放...在使用闭包的时候,就会造成严重的内存泄漏,因为闭包中的局部变量,会一直保存在内存中。 内存溢出?

    js内存泄漏(超详细)

    `JavaScript`中的内存管理标记清除算法步骤闭包造成内存泄漏的情况最后是其他情况的内存泄漏1. 意外的全局变量2. 被遗忘的计时器或回调3. 超出`DOM`引用 从变量开始 1. 变量分类 基本数据类型 指简单的数据段 存储...

    IE下的内存泄露问题解决方案(英文)

    IE下的内存泄露问题解决方案、讲解js闭包的所有方式

    JavaScript_中的内存泄露模式

    如果您知道内存泄漏的起因,那么在 JavaScript 中进行相应的防范就应该相当容易。在这篇文章中,作者 Kiran Sundar 和 Abhijeet Bhattacharya 将带您亲历 JavaScript 中的循环引用的全部基本知识,向您介绍为何它们...

    理解并解决IE的内存泄漏模式

    页面之间的关系保持简单,并且在同一站点的不同地址之间进行导航可以快速地清理任何内存泄漏问题。如果存在泄漏,也小到足以忽略。新的Web应用需要实践更高的标准。一个页面可能运行数小时,而不会被导航或者通过Web...

    JavaScript内存泄漏的处理方式

    下面就是小编整理的关于JS遇到内存泄漏问题时应该采取的处理方式。 随着现在的编程语言功能越来越成熟、复杂,内存管理也容易被大家忽略。本文将会讨论JavaScript中的内存泄漏以及如何处理,方便大家在使用...

    js内存泄露的几种情况详细探讨

    内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在C++中,因为是手动管理内存,内存泄露是经常出现的事情。而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况...

    一个Vue页面的内存泄露分析详解

    什么是内存泄露?内存泄露是指new了一块内存,但无法被释放或者被垃圾回收。new了一个对象之后,它申请占用了一块堆内存,当把这个对象指针置为null时或者离开作用域导致被销毁,那么这块内存没有人引用它了在JS里面...

Global site tag (gtag.js) - Google Analytics