为什么我们不能通过这个改变对象本身,而对象属性可以改变



我只想知道为什么我们不能更改对象本身?

var obj = {
a: "hello"
};
function modify(o) {
o = {
a: "hello world"
};
}
modify(obj);
console.log(obj.a);

在函数modify(o)中,您为变量o分配了一个新的对象引用,使原始obj保持不变。

如果您想修改原始对象,请直接访问:

var obj = { a: "hello" };
function modify(o) {
o.a = "hello world" // this modifies the object passed to the function
}
modify(obj);
console.log(obj.a);

最新更新