易截截图软件、单文件、免安装、纯绿色、仅160KB

如何避免Javascript事件绑定出现内存泄漏

"These memory leaks often
occur as a result of circular references between JavaScript objects and
objects within IE’s DOM (document object model)."
GPDE Team Blog
明显的DOM对象与 JavaScript对象循环引用很好判断,难的是隐含的循环引用判断!
隐含的循环引用需要通过作用域链进行分析判断!
考虑以下代码(感谢可爱的winter ^_^):
var e=document.getElementBy??("XX");
e.onclick=function(){}
scopechain分析:
scopechain.e = document.getElementBy??("XX");
function f(){}
function f(){}.[[scope]] = scopechain
e.onclick = f
很清晰,对不对?
"Javascript绑定事件时,只要DOM的事件里访问不了DOM自己的那个变量就行了"
winter
"IE现在的Patch搞得有时候泄露有时候不泄露"
winter
<button id="testx">No Memory Leak Event Bind</button>
<button id="testy">No Memory Leak Event Bind</button>
<script type="text/javascript">
var fooA = function(){
    var f = function(){alert(this+'\n'+fooA);}
    !function(){
        var d = document.getElementById('testx');
        d.onclick = f;
    }()
}
fooA();
var fooB = function(){
    this.onclick = function(){alert(this+'\n'+fooB);}
}
fooB.call(document.getElementById('testy'));
</script>


相关文档:

9.22 CSS复合属性和JavaScript在Html页面中的执行顺序

CSS复合效果
CSS的效果是可以重叠的,例如class="a b",那么这个节点就同时拥有了a和b的属性,并且,b可以覆盖a的属性。
JavaScript在Html中的执行顺序
经过简单测试,发现JavaScript的执行顺序是按照js的加载顺序进行的,而onload函数是在整个页面加载完成后才开始执行。
我的测试文件:
<!--
To change this ......

javascript截取路径中的文件名

<!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"&nb ......

Javascript中的正则表达式——详解

每次用的时候都要找一遍资料,琢磨一遍语法,不胜其烦,终于下定决心把他们都记下来,一次性搞定,永绝后患!:)
一、什么是正则表达式?
    简单地说,就是基于字符串的模式匹配工具。实际应用中包括字符串的查找、提取、替换等等。
二、基本语法
    Javascript中的正则表达式的形式一 ......

JavaScript 构建类和创建对象的方式

1>工厂函数来创建对象(Factory)
     function createCar(){
var obj = new Object;
obj.name = "BWM";
obj.show = function(){
alert(this.name);
}
return obj;
}
var car1 = createCar();
var car2 = createCar();
car1.show();
car2.show();
2>构造函数创建对象 ......

javascript学习方法

 1.不过我教你一个学做网页的技巧
每看到一个漂亮的网页就查看下代码
2.看张孝祥的视频
3。从基础学起。然后学些基本的WEB开发应用
推荐一个网站http://www.ccscript.cn/
该站详细分类JS的基础,对象,极其应用;
该站有多种当今流行的JS框架;
站内主打Jquery框架的基础及应用;
包括特效代码和展示特效; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号