带有三元运算符的附加赋值运算符
Additional assignment operator with ternary operator
我想知道是否可以将条件运算符与其他赋值运算符结合使用。因此,如果我有一个循环,例如:
var list = ""
for (var i=0; i < 3; i++) {
list += (i = 2 ? "yea " : "nope")
}
alert( list )
我希望收到一个警报,说yea yea nope
但它只是循环一次并给出yea
.这可能吗,或者我只需要使用标准的 if/else 语句?
JSFIDDLE:http://jsfiddle.net/uU9g2/
i = 2
是作业,而不是测试。 它将i
设置为 2,这是真的,所以它输出"是"。 然后循环增量i++
增量从其新值 2 i
递增到 3,之后它不再< 3
,因此循环终止。
你想要i == 2
。
var list = ""
for (var i=0; i < 3; i++) {
list += (i == 2 ? "yea " : "nope")
}
alert( list )
您需要 == 而不是 =
相关文章:
- ||(OR)运算符如何在赋值中工作
- Javascript赋值运算符的奇怪行为
- JavaScript 中同一行上的多个比较/赋值运算符
- if子句中的赋值运算符赋值并执行检查
- 通过三元运算符的自赋值
- 什么's具有fn's赋值运算符两侧的名称(一个对象fn)
- JavaScript - 这些值赋值(使用 |= 作为运算符)是什么意思
- Javascript 赋值运算符不起作用
- 解构或赋值运算符
- JavaScript - 为什么加法赋值运算符不能按预期工作
- 三元运算符赋值优先级为变量
- Javascript性能,条件语句与赋值运算符
- 一个语句中有多个加法赋值运算符
- 布尔值的按位赋值运算符,而不是更长表达式(|= 运算符)
- 赋值运算符,为什么结果是-3
- 带有条件和赋值运算符的表达式
- 为什么赋值运算符返回非布尔值
- TypeScript中的赋值运算符重载
- JS中的赋值运算符是(重新)绑定还是突变
- 带有三元运算符的附加赋值运算符