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

红宝书《JavaScript高级程序设计》-P71

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容