簡體   English   中英

聲明變量JavaScript的性能含義

[英]Performance implication in declaring variables JavaScript

這樣做是否有任何表現(或其他)影響;

// ...
const greeting = `Hello, ${name}!`;
return greeting;

與此相比;

// ...
return `Hello, ${name}!`;

是的,為變量名賦值,然后返回該變量比僅返回值需要更多的努力。 有關迷你性能測試,請參閱:

(警告:以下內容將阻止您的瀏覽器,具體取決於您的規格)

 // references to "name" removed to provide a more minimal test: const p0 = performance.now(); for (let i = 0; i < 1e9; i++) { (() => { const greeting = `Hello!`; return greeting; })(); } const p1 = performance.now(); for (let i = 0; i < 1e9; i++) { (() => { return `Hello!`; })(); } const p2 = performance.now(); console.log(p1 - p0); console.log(p2 - p1); 

差異非常小,但它始終存在,至少在V8中 - 函數調用的開銷大部分都掩蓋了它。

也就是說,這聽起來像是過早的優化 - 它可能更好地瞄准代碼可讀性和可維護性然后 它們彈出修復性能問題。 如果聲明返回值的名稱使代碼更容易閱讀,那么這樣做可能是個好主意,即使它使腳本需要(完全無關緊要的)更長的時間來運行。

暫無
暫無

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

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