我知道在这种情况下标题不是一个很好的描述符,但我不知道如何更好地说出来。
我知道这两个函数完全相同:
function A(a, b) {
return a * b;
}
function B(a, b) {
var c = a * b;
return c;
}
我的问题是A()是否比B()更优?
我的逻辑是A()更好,因为结果是直接返回而不是存储变量然后返回它,这意味着1)代码中涉及的步骤较少,2)没有存储任何内容(甚至如果只是暂时的)在记忆中。
我在JavaScript中运行了一些测试,这些是我的结果:
虽然这些结果表明A()可能稍快一点,但我仍然不确定,因为它可能只是在我的电脑中。
答案 0 :(得分:0)
正如许多人在这个问题的评论中所说的那样,答案是差异可以忽略不计,其中一个并不比另一个更优,因为:
1)要确定哪种功能更优化,需要进行大量试验。如果这样做,可以看出差异几乎可以忽略不计。
2)正如 JJJ 提到的那样,可能是由于每种语言的引擎或编译器所做的优化。
3)根据操作系统和浏览器的不同,一个功能比另一个功能更快。