【发布时间】:2013-07-23 04:14:05
【问题描述】:
您好,感谢您的帮助
当我编写一些代码时,我遇到了一个问题。在下面的例子中。我期待alert(a.x) 输出1,而不是输出2。我了解到这是因为a 被传递给this.b 作为参考。我似乎找不到的是如何通过值传递它。 (如,我不想每次调用x()时都修改a)
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
谁能告诉我我错过了什么?
请,谢谢
(旁注:this is a post 这与我所说的很接近,但我不知道如何使它适用于我的情况......如果情况完全一样的话)
【问题讨论】:
标签: javascript pass-by-reference pass-by-value