ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript は変数の受け渡しとオブジェクトの変更をどのように処理しますか?

JavaScript は変数の受け渡しとオブジェクトの変更をどのように処理しますか?

Patricia Arquette
リリース: 2024-12-16 05:41:19
オリジナル
192 人が閲覧しました

How Does JavaScript Handle Variable Passing and Object Modification?

JavaScript での参照による変数の受け渡し

JavaScript には、他のプログラミング言語に存在する「参照による受け渡し」の概念がありません。ただし、オブジェクトを値で渡すことができ、関数でその内容を変更できるようになります。

値によるオブジェクトの受け渡し

関数内でオブジェクトの内容を変更するには、オブジェクトを渡します。それ自体をパラメータとして:

function alterObject(obj) { obj.foo = "goodbye"; }
var myObj = { foo: "hello world" };
alterObject(myObj);
console.log(myObj.foo); // "goodbye"
ログイン後にコピー

変更配列

配列の要素を変更するには、その数値インデックスを反復処理し、各セルを個別に更新します。

var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) arr[i] = arr[i] + 1;
ログイン後にコピー

JavaScript の「参照渡し」

JavaScript には真の「参照渡し」機能がありません。これは、C のような言語とは異なり、関数呼び出し内で元の変数の値を変更することができないことを意味します。

以下の例では、x と y の値は値によって渡され、交換できないため、これらの値の交換は失敗します。関数内で直接変更:

function swap(a, b) { var tmp = a; a = b; b = tmp; }
var x = 1, y = 2;
swap(x, y);
console.log("x is " + x + ", y is " + y); // "x is 1, y is 2"
ログイン後にコピー

結論

while JavaScript は従来の意味での「参照渡し」を提供しておらず、オブジェクトを渡してその内容を操作することで、同様の機能が可能になります。この手法はオブジェクト参照自体ではなく、オブジェクトの内容を変更することに注意してください。

以上がJavaScript は変数の受け渡しとオブジェクトの変更をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート