请参阅d3.js的this代码
if (y1 < y0) t = y0, y0 = y1, y1 = t;
与comma operator有关,在返回/分配最后一个值或等效于
的意义上if (y1 < y0) {
t = y0;
y0 = y1;
y1 = t;
}
我更担心,依靠操作顺序在这里发生任何棘手的事情。
答案 0 :(得分:0)
是的,第一个代码段使用逗号运算符,两个代码段都是等效的,因为逗号运算符从左到右进行求值。
在您的代码段中使用逗号运算符将多个分配放入单个语句中,因此它们都受前面的if
和几个条件的约束可以保存字符({
和}
)。
不确定这是否值得手动操作,但是缩放器通常会进行这种优化(并且它会增加)