声明变量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中一直存在,而函数调用的开销通常使它黯然失色。

就是说,这听起来确实像是过早的优化-最好是针对代码的可读性和可维护性然后在出现问题解决性能问题如果声明返回值的名称使代码更易于阅读,那么这样做可能是一个好主意,即使这会使脚本花费(完全无关紧要)的更长的运行时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章