条件评估时间(Javascript)
Time of evaluation of condition (Javascript)
我对 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
,则将评估其他条件的 none。
正如 "Short-circuit_evaluation" 所说:“...只有当第一个参数不足以确定表达式的值时,才会执行或评估第二个参数。”
当语句为真时,执行将停止。
我对 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
,则将评估其他条件的 none。
正如 "Short-circuit_evaluation" 所说:“...只有当第一个参数不足以确定表达式的值时,才会执行或评估第二个参数。”
当语句为真时,执行将停止。