0
a = (a == b) ? c: b;

我不明白。所有的 {a, b, c} 都是程序员设置的具有特定值的变量。

4

7 回答 7

4

这称为三元运算符:这与执行以下操作相同:

if(a == b)
 a = c;
else
 a = b;
于 2013-06-27T16:38:40.850 回答
1

如果a等于ba=c否则a= b

于 2013-06-27T16:38:27.787 回答
1

这是 if 和 assignment 的简写形式。

q = x ? y : z

q 是您分配给 x 的变量,它是一个布尔表达式,它是真或假。如果它是真的 y 将被分配给你的变量 q 否则 z 将被分配给 q。

于 2013-06-27T16:39:59.127 回答
0

这是三元运算符,相当于:

if (a == b) {
  a = c;
} else {
  a = b;
}

主要区别在于if/else由条件语句组成,而三元运算符是条件表达式。换句话说,三元运算符就像 if/else 返回一个值一样工作。在其他一些语言中,if/else也是表达式,因此以下内容是有效的,并且实际上等同于?:

a = (if (a == b) { c; } else { b; }) // not valid javascript

请务必检查https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

Mozilla 开发者网络是 JavaScript 的绝佳参考。

于 2013-06-27T16:38:19.923 回答
0

如果a等于b则分配ca,否则分配ba

于 2013-06-27T16:38:35.490 回答
0

用英语讲 -

If a is equal to b, then a = c. otherwise, a = b
于 2013-06-27T16:38:45.820 回答
0

?: 语法是三元运算符。本质上,它意味着如果a等于,则b等于,否则a等于cab

于 2013-06-27T16:39:30.890 回答