考虑两个片段
const sayMyName = wizard => {
wizard.name = 'Shazam';
}
let boy = { name: 'Billy' };
sayMyName(boy);
console.log(boy.name);
由于我们知道js中的对象是通过引用传递的,因此对男孩对象的引用被分配了一个值为'Shazam'的属性。由于存储的参考处的对象已更改,因此男孩的名字更改为“ Shazam”。
const sayMyName = wizard => {
wizard = { name: 'Shazam' };
}
let boy = { name: 'Billy' };
sayMyName(boy);
console.log(boy.name);
考虑上述情况,这里当Boy在sayMyName函数中传递时,为什么它按值传递,而boy.name仍返回“ billy”?