我只想知道为什么我们不能更改对象本身?
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);