解除js循环引用带来的内存泄漏危机

原文:http://javascript.crockford.com/memory/leak.html

IE中的脚本内存垃圾收集器中存在一些小bug,因此存在删除操作时,如removeElement, removeChild , 或者设置innerHTML 属性之前我们运行下面的函数来解除内存泄漏危机:

function purge(d) {
    var a = d.attributes, i, l, n;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            n = a[i].name;
            if (typeof d[n] === 'function') {
                d[n] = null;
            }
        }
    }
    a = d.childNodes;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            purge(d.childNodes[i]);
        }
    }
}

你可能感兴趣的:(JavaScript,html,脚本,IE)