在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语句会更有意义)。
附录:出于好奇,这的恰当用语是什么?我注意到许多人使用“短路”一词。另外,某些语言会这样做吗,而其他语言不会吗?