答案是值传递
: object对象被直接赋值其实会改变引用地址,新的obj和原来的入参毫无关系,
const obj = {
a: 1,
b: 2,
}
function a(obj, objb) {
if (objb) {
obj = objb
}
obj.a = 4 // 此处修改不会影响传入的obj对象
obj.c = 5
}
}
// a(obj)
// console.log(obj) // {a:4,b:2,c:5}
a(obj, {d:6})
console.log(obj) // {a:1,c:2}