论JS函数传参时:值传递与引用传递的区别
- 什么是值传递:
函数调用中基本类型是按值传递,传递是一个数值,我们称为 “值传递”
示例:
let num = 2;
function fu(numA){
numA = 22; //更改num
}
fu(num); //执行函数
console.log(num); //a = 2
函数的参数:如果是简单类型的会做一个值类型的数值副本传到函数内部。
2. 什么是引用传递:
函数调用中复杂类型的传递是对象,一般称为 “引用传递”
示例:
let obj = {name: "heihei",age: 20};
function fu(objA){
objA.name = "haha"; // 更改name
}
fu(obj); // 执行函数
console.log(obj); //obj.name = haha
函数的参数:如果是一个参数是引用类型,会把引用类型的地址值复制给传入函数的参数。
我是小白,有不对的,不行的,哪里有错误,希望大家指点一下(不要喷我谢谢大家)