先看一段代码:
let person = {
name:'Amy',
num: 1,
age: 17
}
function changeNum(obj){
obj.num++
console.log('changeNum',obj)
obj = new Object()
obj.num = 3
console.log('new', obj)
}
changeNum(person)
console.log(person)
由此可见:函数的参数是按值传递。
js红宝书关于传值详解
参考文章: JS参数传递(值传递和引用传递)