if 语句 - 条件评估时间(Javascript)

if statement - Time of evaluation of condition (Javascript)

本文关键字:Javascript 时间 评估 语句 条件 if      更新时间:2023-09-26

我对 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
}

我想知道的是:每个复杂条件是否提前检查,解释器只是执行条件的代码部分为真,还是从第一个条件开始,只在第一个条件为假时评估第二个条件?

我对为低端移动设备进行一些优化感兴趣。

当在执行流中到达if语句时,将计算if语句的条件子句。在您的示例中,如果第一个条件是 true ,则不会评估任何其他条件。

正如"Short-circuit_evaluation"所说:"...仅当第一个参数不足以确定表达式的值时,才会执行或计算第二个参数。

当达到 true 语句时,执行将停止。