1.当js函数中参数为基本数据类型时(Number,String,Boolean,Undefined,Null),参数保存的值就是实参的值
let a = 1
function test(number) {
number = 2
}
test(a)
console.log(a);//1
2.当js函数中参数复杂数据类型时(Object,Arr),参数保存的值就是实参的地址,即当在函数内部修改参数的值时,实参的值也随之改变
let dog = {
name: '柴犬',
age: 2
}
function test(obj) {
obj.name = '拉布拉多'
}
test(dog);
console.log(dog.name);//拉布拉多
let pet = ['dog', 'cat']
function test(arr) {
arr[0] = "pig"
}
test(pet)
console.log(pet[0]);//pig