在javascript中,当使用带有多个条件的if语句进行测试时,javascript是否会全部测试它们,或者如果已经为false,则在测试所有条件之前会保全吗?
例如:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
javascript将测试所有这三个条件,还是在看到b不等于1并因此为false之后,将退出该语句?
我从性能的角度出发。例如,如果我正在测试3个复杂的jQuery选择器,那么我不希望jQuery遍历DOM
3次(如果通过第一个可以看出,它将返回FALSE)。(在这种情况下,嵌套3个if语句会更有意义)。
附录:出于好奇,这的恰当用语是什么?我注意到许多人使用“短路”一词。另外,某些语言会这样做吗,而其他语言不会吗?
该&&
运营商“短路” -也就是说,如果左边的条件是假的,它不打扰评估是正确的。
同样,||
如果左侧条件为真,则操作员会短路。
编辑:不过,在进行基准测试并确定这是一个问题之前,您不必担心性能。过早的微观优化是可维护性的祸根。
问题内容: 我试图获得一个if语句从多个条件中触发,而不用不同的触发器多次重写该语句。例如: 您如何将这些内容浓缩成一个陈述? 我试过使用“或”,并且无论输入是否符合任何条件,它都会导致任何raw_input触发语句。 问题答案: 你想做的是 如果您有很多可能性,请选择另一个选项: 由于您使用的是2.7,因此您也可以这样编写(在2.7或3+版本中有效,但在2.6或以下版本中无效): 这使元素成为您
我试图让if语句从多个条件触发,而不使用不同的触发器多次重写该语句。例如。: 你会如何把这些浓缩成一个陈述? 我尝试过使用'or',它导致任何原始输入触发语句,而不管输入是否匹配任一条件。
问题内容: 我有一个变量。 我想呼应,如果等于任何下列值,,,,或。有没有办法通过像?? 这样的单个语句来做到这一点? 问题答案: 我认为,使用“ Or”代替“ And”会有所帮助
问题内容: 对于似乎很简单的问题,我找不到解决方案。假设有2种实体类: 如何创建一个标准查询以返回包含至少一个满足给定条件(例如b.text =’condition’)的B实体的所有A? 问题答案: 我认为此链接可能很有用:http : //mikedesjardins.net/2008/09/22/hibernate-criteria- subqueries-exists/ 它包含以下有关如何创
我有这个代码: 它需要一个输入来填充,所以一个特定的按钮得到一个类添加。现在我想要检查多个输入,如果它们都被填充而不是空的,我想要添加类“UK-Button-Success”到一个按钮。 我试过的其他方法都不起作用。 我该怎么做?
问题内容: 这实际上可能是一个愚蠢的问题,但我想知道是否有可能使用if语句执行所有条件。我解释: 当所有三个方法都返回true时执行。关键是,当一个方法返回false时,其余方法将不会执行。这通常对性能而言是一件好事,但是如果我真的需要独立于所有方法返回的值来执行所有方法,然后对表达式求值并进入if与否,该怎么办?同样适用于OR或其他 有没有一种方法可以告诉Java采取这种方式?我目前的解决方法是