我想在JavaScript / jQuery
中编写以下C#代码(x == 0 && y < 0 ? x : x+y)
在JavaScript / jQuery中是否存在如上所述的等效简写方式,或者我是否必须编写整个if else。
我需要在for循环定义中加入这样的条件,
for (i=0; i< (x == 0 && y < 0 ? x-y : x+y); i++)
因此想知道我是否有办法在JavaScript中做类似的事情。据我所知,我将不得不写一个if else,计算值然后使用该值。但也许有人知道更好的方法吗?
答案 0 :(得分:7)
是的,三元运算符也存在于Javascript中。
您发布的代码
for (i=0; i< (x == 0 && y < 0 ? x-y : x+y); i++)
将逐字工作。
答案 1 :(得分:1)
这应该有效:
for (i=0; i< (x == 0 && y < 0 ? x-y : x+y); i++)
答案 2 :(得分:1)
这最初是一个c / c ++运算符。据我所知,这个运算符在javascript中可用。
答案 3 :(得分:1)
请想一下maint。程序员并重新考虑一下。
为什么不这样:
var countTo=0;
if( x == 0 && y < 0 )
countTo = x-y;
else
countTo = x+y;
for (i=0; i< countTo; i++){
}
虽然它可能是一些额外的代码行,但它更具可读性和可维护性,并且在表达你的意图方面要好得多,如果在for循环声明中则更加神秘!