我想知道是否可以将条件运算符与其他赋值运算符组合在一起。所以如果我有一个循环:
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/
答案 0 :(得分:4)
i = 2
是一项任务,而非考试。它将i
设置为2,这是真的,因此输出“是”。然后循环增量i++
将i
从其新值2增加到3,之后它不再是< 3
,因此循环终止。
您想要i == 2
。
答案 1 :(得分:1)
var list = ""
for (var i=0; i < 3; i++) {
list += (i == 2 ? "yea " : "nope")
}
alert( list )
您需要==而不是=