JS函数传参时值传递与引用传递的区别
程序员文章站
2022-03-14 19:47:02
大家都知道在计算机内存中js的数据类型分为基础数据类型和引用数据类型基础数据类型number / string / boolean / undefined / null这些都是基础数据类型在计算机内存中分为栈和堆基础数据类型在计算机中的存储情况如下图:栈空间相当于一本书的目录引用数据类型比如object / function/Array这些都是引用数据类型引用数据类型在计算机内存中的存储方式如下图:堆空间相当于一本书写内容的地方在函数传参时:基础数据类型都是值传递引用数据传递的只...
大家都知道在计算机内存中js的数据类型分为基础数据类型和引用数据类型
基础数据类型
number / string / boolean / undefined / null这些都是基础数据类型
在计算机内存中分为栈和堆
基础数据类型在计算机中的存储情况如下图:
栈空间相当于一本书的目录
引用数据类型
比如object / function/Array这些都是引用数据类型
引用数据类型在计算机内存中的存储方式如下图:
堆空间相当于一本书写内容的地方
在函数传参时:
基础数据类型都是值传递
引用数据传递的只是引用类型数据的引用,相当于传递了目录,指向的还是原来的地址,因此在函数体里修改数组、对象、都会修改原数据。
本文地址:https://blog.csdn.net/weixin_46378921/article/details/107719915