论JavaScript函数传参时:值传递与引用传递的区别

JavaScript的参数值是通过两种方式来传递:第一种是值传递,第二种是引用传递。
值传递:通过Undefined、null、string、Boolean、number这五中数据类型来传递。
引用传递:通过object、Array、function、Date等这些复杂类型来传递。

一、值传递
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308190557928.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308190619188.png)
函数没有改变外部i的值,结果还是10.

二、引用传递

论JavaScript函数传参时:值传递与引用传递的区别_第1张图片
论JavaScript函数传参时:值传递与引用传递的区别_第2张图片
函数改变了外部obj.name的内容。

总结:二者的区别就在于传递的数据类型不一样,值传递传递的是一个值,而引用传递传递的是一个对象。
值传递不会改变实参的数值。而引用传递会改变实参的内容。

你可能感兴趣的:(论JavaScript函数传参时:值传递与引用传递的区别)