[英]To declare or not local variables in JavaScript
哪種更好的寫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;
}
它實際上取決於。
foo1()
-如果只需要在函數中使用f1()
和f2()
,則foo1()會更好。 由於使用其他變量來保持相同的結果沒有任何意義,而且它們將覆蓋一些內存(非常小)。 因此,可以直接使用函數來消除此額外成本。
foo2()
-如果在函數中多次使用f1()
和f2()
,則foo2()
會更好,因為將函數值存儲在一個變量中並多次使用將比再次調用Function更好,再次獲得相同結果。 但是可以,如果您的函數包含邏輯並且函數的結果可以隨時更改,那么顯然您將需要每次調用函數。
我不是這方面的專家,但我會盡力而為。
為了提高性能,如評論中所述,您可以使用jsPerf ..
對於內存消耗,我相信foo1()
更好,因為您不需要創建新變量。
對於變量熵,我不確定如何回答這一點,因為我相信您實際上並不需要那些變量。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.