哪种写作方式更好foo()
?
foo1()
或foo2()
?
更好的方面:
假设有其他因素需要处理 例如:变量未在函数中的多个位置使用,等等。
function f1() {
return 10;
}
function f2() {
return 20;
}
function foo1() {
return f1() === f2();
}
function foo2() {
var i = f1();
var j = f2();
return i === j;
}
答案 0 :(得分:0)
它实际上取决于。
foo1()
- 如果你需要在函数中只使用f1()
和f2()
,那么foo1()会更好。使用额外的变量来保持相同的结果没有任何意义,它们也会覆盖一些内存(非常小的数量)。因此,通过直接使用函数可以消除这种额外成本。
foo2()
- 如果您在函数中多次使用f1()
和f2()
,则foo2()
会更好,因为将函数值存储在ONE变量中并使用它很多次会比一次又一次地调用Function要好得多。
但是,是的,如果你的函数包含逻辑,函数的结果可以随时改变,那么很明显你每次都需要调用函数。
答案 1 :(得分:0)
我不是这方面的专家,但我会尽我所能..
对于效果,如评论中所述,您可以使用jsPerf ..
对于内存消耗,我相信foo1()
更好,因为您不需要创建新变量..
对于变量熵,我不知道如何回答这一点,因为我相信你并不真的需要这些变量。
希望它有所帮助。