簡體   English   中英

在循環中重用變量時,哪一個更有效?

[英]Which of these is more efficient while reusing a variable in a loop?

只是想知道哪一個對“a”和“pushRes”的聲明更有意義,為什么你會在 memory、scope 等方面選擇一個而不是另一個? 為簡單起見,我刪除了 try/catch 塊。

const pushRes=[];
for (..){
    const a = await myFunc(i);
    pushRes.push(a);
}

或者

let a;
let pushRes=[];
for (...){
a = await myFunc(i);
pushRes.push(a);
}

你不需要聲明它,也不需要使用等待。 只需將 func 直接添加為您的其他 function 的參數即可。 它不會觸發 function,直到 myFunc 返回一個值。

const pushRes=[];
for (..){
    pushRes.push(myFunc(i));
}

與代碼中的其他內容相比,任何可能的性能差異都將是微不足道的。

為了便於閱讀,您應該使用 go。 在循環外聲明一個變量似乎表示您需要在循環外使用該變量。 如果不是,那么您只是在引入不必要的復雜性。 聲明變量盡可能靠近它們的使用位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM