/**
* 遍历某一元素节点及其所有后代元素
*
* @param Elem node 所要清除的元素节点
* @param function func 进行处理的函数
*
*/
function walkTheDOM(node, func) {
func(node);
node = node.firstChild;
while (node) {
walkTheDOM(node, func);
node = node.nextSibling;
}
}
/**
* 清除dom节点的所有引用,防止内存泄露
*
* @param Elem node 所要清除的元素节点
*
*/
function purgeEventHandlers(node) {
walkTheDOM(node, function (e) {
for (var n in e) {
if (typeof e[n] ===
'function') {
e[n] = null;
}
}
});
详谈JavaScript内存泄漏(2)
内容版权声明:除非注明,否则皆为本站原创文章。