Javascript 变量赋值与直接传递给函数
以下各项在内存管理方面有哪些优点/缺点Javascript 变量赋值与直接传递给函数,javascript,Javascript,以下各项在内存管理方面有哪些优点/缺点 赋值给变量,然后将其传递给函数 直接传递给函数 第一个和第二个代码在传递变量的方式上完全没有区别(除非您以后还需要在代码中使用a) 只有两种情况下,第一种可能优于第二种 您需要在其他地方使用该变量 变量声明太长,需要将其拆分为两行,或者使用复杂的算法,需要为每个步骤指定一个名称以提高可读性 第一个和第二个代码在传递变量的方式上完全没有区别(除非您以后还需要在代码中使用a) 只有两种情况下,第一种可能优于第二种 您需要在其他地方使用该变量 变量声明太长,需要
第一个和第二个代码在传递变量的方式上完全没有区别(除非您以后还需要在代码中使用
a
)
只有两种情况下,第一种可能优于第二种
第一个和第二个代码在传递变量的方式上完全没有区别(除非您以后还需要在代码中使用
a
)
只有两种情况下,第一种可能优于第二种
这取决于JavaScript引擎的实现。在第一个示例中,一个引擎可能为变量分配内存,而在直接传递的示例中不分配内存,而另一个实现可能足够聪明,可以编译代码,使第一个示例不为变量分配内存,从而使第一个示例的行为与直接传递的示例相同
我对特定的引擎了解不够,无法告诉你每个引擎具体做什么。您必须查看每个JS引擎(或询问每个引擎的作者)才能得到更确切的答案。这取决于JavaScript引擎的实现。在第一个示例中,一个引擎可能为变量分配内存,而在直接传递的示例中不分配内存,而另一个实现可能足够聪明,可以编译代码,使第一个示例不为变量分配内存,从而使第一个示例的行为与直接传递的示例相同
我对特定的引擎了解不够,无法告诉你每个引擎具体做什么。您必须查看每个JS引擎(或询问每个引擎的作者)才能得到更确切的答案。阅读下面的文章:如果变量没有在其他地方使用,为什么要创建变量,或者至少有助于提高可读性?@Cray:无论哪种方式,它都将通过ref传递。读取传递如果变量没有在其他地方使用,为什么要创建变量,或者至少有助于提高可读性?@Cray:无论哪种方式,它都将通过ref传递。
const a = {foo: 'bar'}; // won't be reused anywhere else, for readability
myFunc(a);
myFunc({foo: 'bar'});