js函数传参是对数据的浅拷贝,如果是复杂数据类型的对象,那么对数据的修改会改变原始数据,而简单数据类型的则不会,测试代码如下:
let obj = { name: '海子', } function changeObj(param) { param.name = 'haizi' } changeObj(obj) console.log({obj})
let obj = { person: { name: '张三' }, } function changeObj(param) { param.person.name = 'zhangsan' } changeObj(obj) console.log({obj})
let name = '里斯本' function changeObj(param) { param = 'lisiben' } changeObj(name) console.log({name})