0

这是 JavaScript 中的一个函数,用于替换节点的子节点

var app = {};
app.replaceChildren = function (node, childrenReplacementNode) {
    var child;
    while (child = node.firstChild) {
        node.removeChild(child);
    }
    node.appendChild(childrenReplacementNode);
};

是否有任何需要将谓词编写为的 JS 实现

((child = node.firstChild))?

4

1 回答 1

0

不,JavaScript 从来不需要额外的括号,如果存在,它们在语言级别上没有任何用途。

必须彻底破坏引擎才能弄错。赋值表达式的结果是被赋值的值(这就是为什么a = b = foo()起作用),while循环括号中的表达式被求值,然后将结果值强制转换为布尔值以确定循环是否应该继续。任何做错任何一个的引擎(或添加破坏代码的 lint 式错误)都不会在野外表现良好。

于 2014-10-23T17:23:07.303 回答