在以下方面的内存管理方面,优点/缺点是什么?
- 分配给变量,然后将其传递给函数
const a = {foo: 'bar'}; // won't be reused anywhere else, for readability
myFunc(a);
- 直接传递给函数
myFunc({foo: 'bar'});
答案 0 :(得分:0)
第一和第二代码在传递变量的方式上绝对没有区别(除非您稍后还要在代码中使用a
)。
只有2种情况下,第一种可能比第二种更好。
答案 1 :(得分:0)
这取决于JavaScript引擎的实现。在第一个示例中,一个引擎可能会为变量分配内存,而在直接传递的示例中,一个引擎可能不会分配内存,而另一种实现可能很聪明,可以编译代码,使得第一个示例不为变量分配内存。因此将第一个示例作为直接传递的示例进行操作。
我对特定的引擎了解不多,无法告诉您每个引擎具体做什么。您必须查看每个JS引擎(或要求每个JS引擎的作者)才能获得更明确的答案。