变量赋值vs直接传递给函数

问题描述 投票:1回答:2

以下内存管理方面有哪些优缺点?

  1. 分配给变量然后将其传递给函数
const a = {foo: 'bar'}; // won't be reused anywhere else, for readability
myFunc(a);
  1. 直接传递给函数
myFunc({foo: 'bar'});
javascript
2个回答
0
投票

第一个和第二个代码在传递变量的方式上完全没有区别(除非你还需要在代码中使用a)。

只有2例,其中第一例可能比第二例更受欢迎。

  1. 您需要在其他地方使用该变量
  2. 变量声明太长,您希望将其拆分为两行,或者您使用的是复杂算法,并希望为每个步骤指定一个名称以便于阅读。

0
投票

这取决于JavaScript引擎的实现。一个引擎可能在第一个示例中为变量分配内存而不在直接传递的示例中分配内存,而另一个实现可能足够智能以编译代码,使得第一个示例不为变量分配内存从而使第一个例子表现为直接通过的例子。

我不太了解具体的引擎,告诉你每个人具体做什么。您必须查看每个JS引擎(或询问每个引擎的作者)以获得更确定的答案。

© www.soinside.com 2019 - 2024. All rights reserved.