ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は変数を参照によって渡しますか?それとも値によって渡しますか?

JavaScript は変数を参照によって渡しますか?それとも値によって渡しますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 15:12:12700ブラウズ

Does JavaScript Pass Variables by Reference or by Value?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。