易截截图软件、单文件、免安装、纯绿色、仅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>


相关文档:

FusionChart 的javascript 用法

FusionChart  就不用介绍了把,一款支持多种语言的图表生成控件,生成的图表丰富,美观,且有动态感,因为它生存的东西就是一个flash。一下介绍一下它的javascript 实现方式把。
废话少说,直接上实例
  <HTML>      
   <HEAD>      
      <SCRIPT LANGUAGE="Javascri ......

javaScript 获得触发事件的元素 支持IE FireFox

<html>
<head>
<mce:script type="text/javascript"><!--
function myclick(event){
var ev =event.srcElement ? event.srcElement : event.target;
}

// --></mce:script>
......

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 Array 可以扩展的几个方法

     indexOf
返回元素在数组的索引,没有则返回-1。与string的indexOf方法差不多。
如果其他浏览器没有实现此方法,可以用以下代码实现兼容:
Array.prototype.indexOf = function(el, start) {
var start = start || 0;
for ( var i=0; i < this.length; ++i ) {
......

javascript学习方法

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