在括号中定义具有多个值的变量使用第二个值
Defining variable with multiple values in parentheses uses 2nd value
对了,我的问题是:
var x = (val1,val2);
将 x 的值设置为 val2;
为什么?
因为这就是 comma operator 的工作方式:它计算它的两个操作数,表达式的结果是第二个操作数的值。
请注意,如果没有括号,这与您所拥有的非常不同:
// Differs *significantly* from your example:
var x = val1, val2;
如果没有括号,您根本不会使用逗号运算符,您将使用逗号作为 var
statement 的声明列表的一部分,它具有不同的语义——具体来说, x
获取 val1
的值并且您有一个 val2
的声明,该声明未在该代码中初始化。
但同样,这完全是另一回事。
对了,我的问题是:
var x = (val1,val2);
将 x 的值设置为 val2;
为什么?
因为这就是 comma operator 的工作方式:它计算它的两个操作数,表达式的结果是第二个操作数的值。
请注意,如果没有括号,这与您所拥有的非常不同:
// Differs *significantly* from your example:
var x = val1, val2;
如果没有括号,您根本不会使用逗号运算符,您将使用逗号作为 var
statement 的声明列表的一部分,它具有不同的语义——具体来说, x
获取 val1
的值并且您有一个 val2
的声明,该声明未在该代码中初始化。
但同样,这完全是另一回事。