Dom元素+闭包+循环调用+js移除对象+IE6/7 --> 内存泄漏
2010-06-02 14:41
435 查看
其实以前也曾讨论过这个问题,最近又有同学踩到了这便便,再记一下:
<html>
<head>
<title>JK:</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css" title="default" media="screen">
</style>
</head>
<body>
<pre>
IE6,IE7
Dom元素的事件所在的闭包里,引用了元素(闭包+循环引用),如果用js移除该Dom元素,会导致内存泄漏。
</pre>
<div id="ctn">
<input id="aaa" />
</div>
<script type="text/javascript">
aaa.onclick=(function(){var a=aaa; return function(){};})();//闭包+循环引用
ctn.innerHTML="";//js移除元素
</script>
</body>
</html>
<html>
<head>
<title>JK:</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css" title="default" media="screen">
</style>
</head>
<body>
<pre>
IE6,IE7
Dom元素的事件所在的闭包里,引用了元素(闭包+循环引用),如果用js移除该Dom元素,会导致内存泄漏。
</pre>
<div id="ctn">
<input id="aaa" />
</div>
<script type="text/javascript">
aaa.onclick=(function(){var a=aaa; return function(){};})();//闭包+循环引用
ctn.innerHTML="";//js移除元素
</script>
</body>
</html>
相关文章推荐
- Perl 对象调用方法使用->符号
- <a > 标签调用js的几种方法
- Js初学笔记之<创建对象的五种方式>
- 通过<frameset>和<iframe>解析js中window对象parent、self、top的区别
- js给<object>视频赋值 延迟加载,解决不能修改的html对象的问题 .
- <a> 标签 中调用js的几种方法
- 从零开始学_JavaScript_系列(15)——js系列<4>(数值、字符串、对象、数组、函数、日期的基本方法)
- <input>回车后调用JS进行指定操作
- <a>标签中调用js的几种方法
- 关于js调用ocx控件报错"对象不支持此属性或方法"的解决方法
- JS 使用List<Object> 对象中的Object对象的某个属性的临时处理方法
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- <s:if>判断时对判断对象的类型的影响
- php&nbsp;调用js&nbsp;function错…
- js <abbr><blockquote>两个标签
- <4>Android HAL层 基础及调用
- js--7.bom对象-6.延时调用
- 面面向对象过程总结笔记<一>
- js中json对象不规律key的遍历实现和json对象length属性的调用
- vector<char> 容器初始化 string 对象