有相同的吗? :Javascript / Jquery中C#的运算符?

时间:2012-04-09 14:22:17

标签: c# javascript jquery

我想在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,计算值然后使用该值。但也许有人知道更好的方法吗?

4 个答案:

答案 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循环声明中则更加神秘!