如果与特定JavaScript代码相对

Dat*_*han 3 javascript

为什么测试驱动的JavaScript开发(Christian Johansen)的作者使用while语句而不是if下面代码中的语句?

function getEventTarget(event) {
    var target = event.target || event.srcElement;

    while (target && target.nodeType != 1) {
        target = target.parentNode;
    }

    return target;
}
Run Code Online (Sandbox Code Playgroud)

Phr*_*ogz 9

因为作者想继续走树,直到找到正确的节点类型; 它可能不是直接的父母.

但是,在这种情况下它没有任何意义,因为parentNode它将始终返回实际使用(或文档)中的元素.