我感兴趣的是if/ gets语句中的条件在什么时候被计算。
假设有以下示例:
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
}我想知道的是:每一个复杂的条件都是提前检查的,而解释器只是导出条件的二分,还是从第一个条件开始,只在第一个条件为假时才计算第二个条件?
我对为低端移动设备做一些优化感兴趣。
发布于 2016-07-10 14:31:49
当在执行流程中到达if语句时,将计算if语句的条件子句。在您的示例中,如果第一个条件是true,则不会计算其他条件。
发布于 2016-07-10 14:41:30
正如“短路评估”所说:“只有当第一个参数不足以确定表达式的值时,才执行或计算...the第二个参数。”
当到达真正的语句时,执行将停止。
https://stackoverflow.com/questions/38292966
复制相似问题