您好,感谢您的帮助
当我写一些代码时,我遇到了一个问题。在下面的例子中。我期待alert(a.x)
输出 1,而不是输出 2。我了解到这是因为它被作为参考a
传递给。this.b
我似乎找不到的是如何通过值传递它。(如,我不想a
每次打电话都修改x()
)
var a = {"x":1}
function x() {
this.b = v;
this.b.x++;
}
x();
alert(a.x); //prints 2
我也尝试了以下和其他变体无济于事......
var a = {"x":1}
function x(v) {
this.b = v;
this.b.x++;
}
x(a);
alert(a.x); //... still prints 2
谁能告诉我我错过了什么?
谢谢,麻烦您了
(旁注:这是一篇接近我所说的帖子,但我不知道如何使它适用于我的情况......如果情况完全一样)