`
piziwang
  • 浏览: 236977 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JavaScript 内存回收散记

阅读更多

xxx.innerHTML = '';  很重要,目前来看是最有效果的内存回收处理方式 。

 

http://birdshome.cnblogs.com/archive/2006/05/28/IE_MemoryLeak.html

 

Ext 的回收方式:

http://fins.iteye.com/blog/172263

 

removeNode : isIE ? function(){   
    var d;   
    return function(n){   
        if(n && n.tagName != 'BODY'){   
            d = d || document.createElement('div');   
            d.appendChild(n);   
            d.innerHTML = '';   
        }   
    }   
}() : function(n){   
    if(n && n.parentNode && n.tagName != 'BODY'){   
        n.parentNode.removeChild(n);   
    }   
}

 

jQuery 简单的模仿处理:

http://www.iteye.com/topic/230695

 

jQuery.fn.removeNode = function(){   
            var d;   
            return function(){   
                if(this[0] && this[0].tagName != 'BODY'){   
                    d = d || document.createElement('div');   
                    d.appendChild(this[0]);   
                    d.innerHTML = '';   
                }   
            }   
        }(); 

// 先注册removeNode 
// 之后再通过$('div').removeNode();就可以了。 
// 不过没有清除与之相关的事件和expando中加入的data,还是不完善

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics