我的问题很简单,如果我声明带有一系列OR子句的IF语句,JavaScript会读取所有OR还是停在第一个满足的OR?
提前致谢。
答案 0 :(得分:3)
停在第一个。它被称为短路
http://en.wikipedia.org/wiki/Short-circuit_evaluation https://developer.mozilla.org/en/JavaScript/Reference/Operators/Logical_Operators
答案 1 :(得分:1)
它应该只处理返回true的第一个OR:
if (a || b || c) {
}
如果a为假,b为真且c为真,则它将处理到b。
答案 2 :(得分:1)
function foo() {
return true;
}
function bar() {
alert("bar");
}
foo() || bar(); // true - no alert
bar() || foo(); // true - alert of "bar"
答案 3 :(得分:0)
如果满足第一个条件,则不评估or
的其他条件