作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定以下代码片段:
if (condition1 && condition2) {
// ACTION 1
} else if (!condition1) {
// ACTION 2
} else {
// ACTION 3
}
如果我以这种方式重构它,它会对性能产生影响吗:
if (condition1) {
if (condtion2) {
// ACTION 1
} else {
// ACTION 3
}
} else {
// ACTION 2
}
最佳答案
不,除非 condition1
包含某种繁重的方法调用,否则会重复。如果是,最好先调用它,然后比较结果以使其更易于阅读。
let condition1Result = condition1();
if (condition1Result && condition2) {
// ACTION 1
} else if (!condition1Result) {
// ACTION 2
} else {
// ACTION 3
}
几乎在所有情况下,仅比较两个值对性能的影响都可以忽略不计,因此关注微优化代码的可读性始终是一个好主意。
关于javascript - If语句性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58274878/
我是一名优秀的程序员,十分优秀!