有没有等效的?:Javascript/Jquery 中 C# 的运算符

本文关键字:Jquery 运算符 有没有 Javascript | 更新日期: 2023-09-27 18:30:34

我想用JavaScript/jQuery编写以下等效的C#代码

(x == 0 && y < 0 ? x : x+y)

是否有像上面这样的JavaScript/jQuery中的等效速记方法,或者如果不是这样,我将不得不编写整个。

我需要将这样的条件放在 for 循环定义中,

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

因此想知道是否有一种方法可以在 JavaScript 中做类似的事情。据我所知,我将不得不编写一个ifelse,计算值,然后使用该值。但也许有人知道更好的方法?

有没有等效的?:Javascript/Jquery 中 C# 的运算符

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

您发布的代码

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

将逐字工作。

这应该有效:

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

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

请想想维护程序员,重新考虑一下。

为什么不是这样:

var countTo=0;
if( x == 0 && y < 0 )
    countTo = x-y;
else
    countTo = x+y;
for (i=0; i< countTo; i++){
}

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