JavaScript での参照による変数の受け渡し
ループ内で変数に対して複数の操作を実行する場合、JavaScript が変数の受け渡しをどのように処理するかを理解することが重要です。 JavaScript は、他の多くのプログラミング言語とは異なり、参照による受け渡しをサポートしていません。ただし、オブジェクトを参照すると、関数内でオブジェクトの内容を変更できます。
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); alert(myObj.foo); // "goodbye"
配列の反復処理も可能で、各セルの変更が可能です。
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
注目に値します。真の参照渡しには、呼び出しコンテキスト内の値を変更する機能が含まれますが、JavaScript にはこれがありません。 support.
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); alert("x is " + x + ", y is " + y); // "x is 1, y is 2"
真の参照渡しが可能な C とは異なり、JavaScript はオブジェクトへの参照の受け渡しのみをサポートします。関数内でオブジェクトの内容を変更することは可能ですが、参照自体を変更することはできません。
以上がJavaScript は変数を参照によって渡しますか?それとも値によって渡しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。