声明变量JavaScript中的性能含义

声明变量JavaScript中的性能含义,javascript,Javascript,这样做是否有任何绩效(或其他)影响 // ... const greeting = `Hello, ${name}!`; return greeting; 与此相比, // ... return `Hello, ${name}!`; 是的,将一个值赋给一个变量名,然后返回该变量比简单地返回该值要花费稍多的精力。有关小型性能测试,请参阅: (警告:根据您的规格,以下内容将暂时阻止您的浏览器) //删除对“name”的引用以提供更简单的测试: 常量p0=性能。现在(); for(设i=0;i

这样做是否有任何绩效(或其他)影响

// ...
const greeting = `Hello, ${name}!`;
return greeting;
与此相比,

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

是的,将一个值赋给一个变量名,然后返回该变量比简单地返回该值要花费稍多的精力。有关小型性能测试,请参阅:

(警告:根据您的规格,以下内容将暂时阻止您的浏览器)

//删除对“name”的引用以提供更简单的测试:
常量p0=性能。现在();
for(设i=0;i<1e9;i++){
(() => {
常量问候语=‘你好!’;
回敬问候;
})();
}
const p1=性能。现在();
for(设i=0;i<1e9;i++){
(() => {
返回“你好!”;
})();
}
const p2=性能。现在();
控制台日志(p1-p0);

控制台日志(p2-p1)可能是半纳秒,因为脚本的大小稍大。不重要。你可以忽略,我认为这是一个实际的区别,因为JS变量是对象,包含一些属性和方法。但是在这种情况下,它是绝对可以忽略的。不管怎样,我会坚持使用最上面的示例,因为它更容易调试,而且性能方面绝对不会被注意到,除非您正在循环大量的数据。如果您想知道,那么只需测量。另外,我相信关注这样一个小细节会完全浪费您的时间。在运行此代码时,请记住第一个测试(带有实例化的测试)将花费更长的时间,因为V8引擎将动态编译整个内容。如果您切换测试,您将看到运行这两个测试用例所花费的时间是相同的(有时有实例化的测试用例会比没有实例化的测试用例短)。最好分别运行它们,使它们处于相同的环境中。