带有三元运算符的附加赋值运算符

Additional assignment operator with ternary operator

本文关键字:运算符 赋值运算符 三元      更新时间:2023-09-26

我想知道是否可以将条件运算符与其他赋值运算符结合使用。因此,如果我有一个循环,例如:

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 )

您需要 == 而不是 =