変数を参照によって渡すと、関数は呼び出しコンテキストで元の変数を変更できます。 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; }
true であることに注意してください参照渡し (呼び出しコンテキスト内の単純な変数の変更) は、JavaScript では不可能です。次の例は、この概念を示しています。
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 では変更可能なオブジェクトへの参照のみを渡すことができます。これにより、オブジェクトの内容は変更されますが、参照は変更されません。
以上がJavaScript で参照渡しをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。