javascript - If 语句性能
问题描述
给定以下代码片段:
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 - 如何在html中将多个下拉菜单移动到右侧?
- python - 如何在python中一起读取多个h5文件
- assembly - 将 CLS 实施到 BIOS INT10
- java - 如何消除索引越界异常的错误
- javascript - 如何在node.js异步中的上部范围变量中插入值
- spring - 无法将我在 docker 容器中运行的 spring-boot 应用程序连接到 cassandra 容器
- git - git突然需要sudo才能推送
- ios - 为什么 AVCaptureSession.stopRunning 不停止?
- c# - 终结器中未处理的异常不是来自我们的代码
- c# - 使用可区分联合的 Match 表示 C# 中的状态转换时,如何执行循环状态转换?