3

我的问题很简单,如果我声明一个带有一系列 OR 子句的 IF 语句,JavaScript 会读取所有 OR 还是停在第一个满足的 OR 处?

提前致谢。

4

4 回答 4

3

停在第一个。这叫短路

http://en.wikipedia.org/wiki/Short-circuit_evaluation https://developer.mozilla.org/en/JavaScript/Reference/Operators/Logical_Operators

于 2011-02-07T12:41:51.040 回答
1

它应该只处理返回 true 的第一个 OR:

if (a || b || c) { 

}

如果 a 为假,b 为真,c 为真,它将处理到 b。

于 2011-02-07T12:41:37.970 回答
1
function foo() {
    return true;
}

function bar() {
    alert("bar");
}

foo() || bar(); // true - no alert
bar() || foo(); // true - alert of "bar"
于 2011-02-07T12:43:16.427 回答
0

如果满足第一个条件,or则不评估其他条件

于 2011-02-07T12:41:00.303 回答