给出以下代码片段:
if (condition1 && condition2) {
// ACTION 1
} else if (!condition1) {
// ACTION 2
} else {
// ACTION 3
}
Run Code Online (Sandbox Code Playgroud)
如果以这种方式进行重组,是否会对性能产生影响:
if (condition1) {
if (condtion2) {
// ACTION 1
} else {
// ACTION 3
}
} else {
// ACTION 2
}
Run Code Online (Sandbox Code Playgroud)
不可以,除非condition1包含某种繁重的方法调用,否则将被重复。如果是这样,最好先调用它,然后只比较结果以使其更易于阅读。
let condition1Result = condition1();
if (condition1Result && condition2) {
// ACTION 1
} else if (!condition1Result) {
// ACTION 2
} else {
// ACTION 3
}
Run Code Online (Sandbox Code Playgroud)
仅比较两个值在几乎所有情况下对性能的影响都可以忽略不计,因此,专注于微优化代码的可读性始终是一个好主意。
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |