这是JavaScript中用来替换节点子节点的函数
var app = {};
app.replaceChildren = function (node, childrenReplacementNode) {
var child;
while (child = node.firstChild) {
node.removeChild(child);
}
node.appendChild(childrenReplacementNode);
};
是否有任何JS实现需要将谓词写为
((child = node.firstChild))
?
答案 0 :(得分:0)
不,JavaScript从不需要额外的parens,如果存在,它们在语言级别上没有用处。
引擎必须彻底破坏以解决问题。赋值表达式的结果是分配的值(这是a = b = foo()
工作的原因),并评估while
循环的parens中的表达式,然后计算结果值强制转换为布尔值以确定循环是否应该继续。任何引起错误的引擎(或添加破坏代码的lint风格的错误)都不会在野外表现良好。