我对JavaScript将对象作为参数传递给函数的方式有些困惑。作为函数参数的JavaScript对象
例如,在下面的代码:
var a = {
val: "old"
};
var b = {
val: "old"
};
function update(a, b) {
a.val = "new";
b = {
val: "new"
};
}
update(a, b);
console.log(a, b);
输出来作为:
的a
的val
属性被改变但的b
不是。我在某处读对象是通过引用来传递函数。任何人都可以请解释这种行为。
在此先感谢。
谢谢。这清除了混乱 –