有没有等效的?: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中。
您发布的代码
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 循环声明中,则比神秘的内联要好得多!