-8

我想在 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

4 回答 4

7

是的,三元运算符也存在于 Javascript 中。

您发布的代码

for (i=0; i< (x == 0 && y < 0 ? x-y : x+y); i++) 

将工作,逐字。

于 2012-04-09T14:24:09.003 回答
1

这应该有效:

for (i=0; i< (x == 0 && y < 0 ? x-y : x+y); i++)
于 2012-04-09T14:23:57.873 回答
1

那最初是 ac/c++ 运算符。据我所知,这个运算符在 javascript 中可用。

于 2012-04-09T14:25:18.937 回答
1

请想想maint。程序员并重新考虑一下。

为什么不这样:

var countTo=0;
if( x == 0 && y < 0 )
    countTo = x-y;
else
    countTo = x+y;

for (i=0; i< countTo; i++){
}

虽然它可能是几行额外的代码,但它更具可读性和可维护性,并且在表达你的意图方面要好得多,如果在 for 循环声明中是一个神秘的内联!

于 2012-04-09T14:27:23.973 回答