长方程与覆盖变量

时间:2016-03-07 16:58:52

标签: javascript

所以我有一个相对较长的(在文本编辑器中)方程式,并且想知道最好保持这样或者将其重写为编写变量吗?是否有性能差异?

((((hoursPerWeek * (100 - percentageLoaded)) * (motorKw * 1.25) * 0.35) * 50) * (pencePerKwh / 100)) / 100

1 个答案:

答案 0 :(得分:5)

我不会覆盖"变量(如重用相同的命名变量来表示代码中不同点的不同值),但我肯定会建议将计算分解为适合其目的的变量。

var percentageNotLoaded = 100 - percentageLoaded;
var unusedPerWeek = hoursPerWeek * percentageNotLoaded;
// etc...

性能不会有明显的差异。 JIT编译器很可能会优化变量本身以使用CPU寄存器和内存加载,就像在原始代码中一样。即使它没有,我仍然非常怀疑这个计算是在JavaScript代码中经常进行的,它会代表性能瓶颈。正如其他评论者所指出的那样,最好首先关注可读性,并且只有当它成为一个可衡量的问题时才会担心性能。