欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS函数传参时值传递与引用传递的区别

程序员文章站 2022-03-14 19:47:02
大家都知道在计算机内存中js的数据类型分为基础数据类型和引用数据类型基础数据类型number / string / boolean / undefined / null这些都是基础数据类型在计算机内存中分为栈和堆基础数据类型在计算机中的存储情况如下图:栈空间相当于一本书的目录引用数据类型比如object / function/Array这些都是引用数据类型引用数据类型在计算机内存中的存储方式如下图:堆空间相当于一本书写内容的地方在函数传参时:基础数据类型都是值传递引用数据传递的只...

大家都知道在计算机内存中js的数据类型分为基础数据类型和引用数据类型

基础数据类型

number / string / boolean / undefined / null这些都是基础数据类型
在计算机内存中分为栈和堆
基础数据类型在计算机中的存储情况如下图:
JS函数传参时值传递与引用传递的区别

栈空间相当于一本书的目录

引用数据类型

比如object / function/Array这些都是引用数据类型
引用数据类型在计算机内存中的存储方式如下图:
JS函数传参时值传递与引用传递的区别
堆空间相当于一本书写内容的地方

在函数传参时:
基础数据类型都是值传递
引用数据传递的只是引用类型数据的引用,相当于传递了目录,指向的还是原来的地址,因此在函数体里修改数组、对象、都会修改原数据。

本文地址:https://blog.csdn.net/weixin_46378921/article/details/107719915

相关标签: js javascript