こんにちは、助けてくれてありがとう
コードを書いているときに、問題が発生しました。以下の例では。が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
私が欠けているものについて誰かが私に手がかりを与えることができますか?
よろしくお願いします
(補足:これは私が話していることに近い投稿ですが、自分の状況に適用する方法がわかりませんでした...まったく同じ状況であれば)