JS函数传递参数是Object时,是按值传递还是按引用传递?

JS函数传递参数是Object时,是按值传递还是按引用传递?_第1张图片
红宝书《JavaScript高级程序设计》-P71

要记住,ECMAScript中所有的函数都是按值传递的。就是把函数外部的值复制给函数内部的参数。

基本类型值(Undefined/Null/Boolean/Number/String)的传递和基本类型变量的复制一样。

引用类型值的传递,比如Object,Array,Function,Date等,会先把这个值在内存中的地址复制给一个局部变量,若局部变量变化,则局部变量和复制给局部变量路径的全局变量也会发生改变。如果局部变量指向了一个新的堆内地址,再改变局部变量的属性,不会影响全局变量。

你可能感兴趣的:(JS函数传递参数是Object时,是按值传递还是按引用传递?)