这是javascript逗号运算符的情况吗?
Is this a case of javascript comma operator
请从d3查看此代码.js
if (y1 < y0) t = y0, y0 = y1, y1 = t;
这与逗号运算符有关,在返回/赋值最后一个值的意义上,或等效于
if (y1 < y0) {
t = y0;
y0 = y1;
y1 = t;
}
我更担心的是,这里发生的任何棘手的事情都依赖于操作顺序。
是的,第一个代码段使用逗号运算符,并且两个代码段是等效的,因为逗号运算符从左到右计算。
代码段中使用逗号运算符将多个赋值放入单个语句中,因此它们都由前面的if
控制,并且可以保存几个字符({
和}
)。
不确定这是否值得手动执行,但简化器通常会进行这种优化(并且它加起来)
相关文章:
- 这是什么 ==- javascript 运算符
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- jQuery/JS包含运算符或类似运算符
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- Javascript逻辑运算符和字符串/数字
- 在不阻止默认行为的情况下检测IE10中的缩放
- Array.length似乎不起作用;console.log则显示其他情况
- 模运算符前的双水平线
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 在以下情况下解释 >= 和 <= 运算符的行为
- 这是javascript逗号运算符的情况吗?
- Javascript——如何在不使用新运算符的情况下启用静态方法,同时防止使用实例函数
- 在switch语句中,是否可以在每种情况下都使用模运算符?
- 为什么我们可以't在没有新运算符的情况下调用Date()类的方法
- Do三元运算符在所有情况下都需要一个else块