関数内のグローバル変数に直接値を代入するのではなく、関数のパラメータとしてグローバル変数を直接使用し、関数内のパラメータに値を代入したい。ハードコーディングされていますが、テストで値を割り当てることはできません。
s = 1; a(s); function a(m){ e = m; b(e); function b(f){ f = 2; } } alert(s);
結果は、s は依然として 1 です。関数内で s に直接値を代入できることは知っていますが、それを書くのは難しすぎませんか? この方法で s に値 2 を代入するにはどうすればよいでしょうか?後で使用するために別のグローバル変数を渡すと便利です。
菜鸟-吉2017-09-04 08:24:51
あなたは、関数のパラメーターの受け渡し、つまり値の受け渡しの意味を理解していません。これは、S が関数 A に 1 を与えるだけで、関数 A には関与しないことを意味します。平たく言えば、S を関数にコピーした場合、それをどのように操作しても、S 自体には影響しません。