对,所以我的问题是:
var x = (val1,val2);
将x的值设置为val2;
为什么?
答案 0 :(得分:6)
因为这就是comma operator的工作原理:它评估它的两个操作数,表达式的结果是第二个的值。
请注意,如果您没有括号,那么与非常不同:
// Differs *significantly* from your example:
var x = val1, val2;
如果没有parens,你根本就不会使用逗号运算符,你将使用逗号作为var
statement声明列表的一部分,它具有不同的语义 - 具体来说,http://www.spoj.com/problems/DIV/ 1}}获取x
的值,并且您有val1
的声明,该声明未在该代码中初始化。
但同样,这完全是另一回事。