JavaScript的if语句中,带有多个条件的情况会全部被测试吗?

9 浏览
0 Comments

JavaScript的if语句中,带有多个条件的情况会全部被测试吗?

在javascript中,当使用具有多个条件的if语句进行测试时,无论如何,javascript都会对它们进行全部测试,还是在已经为false的情况下就停止测试?

例如:

 a = 1
 b = 2
 c = 1
 if (a==1 && b==1 && c==1)

JavaScript会测试这3个条件吗?还是在看到b不等于1且为false后,它会退出语句?

我从性能的角度问。例如,如果我正在测试3个复杂的jQuery选择器,如果根据第一个选择器明显返回FALSE,我宁愿不让jQuery在DOM中遍历3次。(在这种情况下,嵌套3个if语句更有意义)。

补充说明:这个术语的正确术语是什么?我注意到你们中的许多人使用“短路”这个术语。还有,有些语言是否会做到这一点,而其他语言则不会?

0