javascript - js中的流控会影响性能吗
问题描述
检查预定的布尔值是真还是假会影响性能吗?或者这样的代码是否被优化为 2 个不同的实现(考虑 V8 和 SpiderMonkey)?
示例 1
let predeterminedBool = Math.random() < .5
callsCalbacksOften(() => {
if (predeterminedBool) console.log("Task A")
else console.log("Task B")
})
示例 2
let predeterminedBool = Math.random() < .5
let chosenCallback
if (predeterminedBool) chosenCallback = () => {
console.log("Task A")
}
else chosenCallback = () => {
console.log("Task B")
}
callsCalbacksOften(chosenCallback)
大型(就代码行而言)任务的示例变得非常庞大。导致基本上复制的代码(针对这一条件执行)。尽管示例 2 似乎更有效。那么,示例 1 是否比示例 2 慢?如果是,有任何显着数额吗?还是这只是对js语法的认知?
PS:这对可以应用类似概念的其他语言(如java)的翻译效果如何?
解决方案
推荐阅读
- java - 如何使用@ComponentScan 排除具有相同名称的两个包之一?
- angular - 如何从 Firestore 仅获取更新的文档
- javascript - JS Hangman - 逻辑日志胜于单字解决方案,但不是多字解决方案
- jenkins - Jenkins (BlueOcean) 不会自动触发 PR 构建
- c# - 扩展服务器控件 DropDownList - 获取 ListItemCollection 项目 ASP.NET
- symfony - 使用 Symfony 4 在树枝中的 for 循环内使用换行符
- php - 错误:路径中的 c:/wamp64 或 PHP
- javascript - 在 Javascript 中,是否保证 {} !== {}?
- testing - 在测试套件中完成一些并行测试后运行测试
- vba - Isnumber 在 Excel VBA 中给出错误作为对象定义的错误