诊断内存泄漏的一个重要步骤是判断页面的DOM数量的增长情况,因此我们需要持续获取页面的DOM数量,方法如下:
// 递归函数
function countNodes(node) {
// 计算自身
var count = 1;
// 判断是否存在子节点
if(node.hasChildNodes()) {
// 获取子节点
var cnodes = node.childNodes;
// 对子节点进行递归统计
for(var i=0; i<cnodes.length; i++) {
count = count + countNodes(cnodes.item(i))
}
}
return count;
}
// 统计body的节点数量
countNodes(document.body)
将上面的代码周期执行,我们就可以发现页面节点增长是否在正确的范围内,节点的销毁是否正常。
版权声明:本文为yiifaa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。