我对if / else语句中的条件被评估的时间点感兴趣。
想象一下,有以下示例:
if (complex condition 1) {
do something
}
else if (complex condition 2) {
do something else
}
else if (complex condition 3) {
do something else
}
else {
do anything
}
我想知道的是:每个复杂的条件都会提前检查,并且解释器只是执行条件的代码部分是真的,或者它是以第一个条件开始的并且仅在第一个条件为假时才评估第二个条件?
我对为低端移动设备做出一些优化感兴趣。
答案 0 :(得分:3)
在执行流程中到达if
语句时,将评估if
语句的condition子句。在您的示例中,如果第一个条件为true
,则将评估其他条件的 none 。
答案 1 :(得分:1)
正如“Short-circuit_evaluation”所说:“......只有当第一个参数不足以确定表达式的值时,才会执行或计算第二个参数。”
当达到真实陈述时,执行将停止。