JavaScript での参照渡しと値渡し
JavaScript では、変数が参照渡しか値渡しかという問題が発生します。混乱の対象となった。明確にするために、数値や文字列などのプリミティブ データ型は値によって渡されます。これは、元の値のコピーが作成されることを意味します。このコピーに加えられた変更は、元の変数には影響しません。
ただし、複雑なデータ型であるオブジェクトと配列は、「参照のコピー」によって渡されます。これは、オブジェクトまたは配列が関数に渡されると、そのオブジェクトまたは配列への参照が作成され、参照に加えられた変更は元のオブジェクトまたは配列に影響を与えることを意味します。
Rectangle 関数のパラメーター
上記の例では、rectangle 関数の my パラメーターがこの概念を示しています。関数内で my.l プロパティと my.w プロパティが変更され、元のオブジェクトに影響を与えます。 my パラメータが削除された場合、rectangle 関数内の area 関数はこれらのプロパティにアクセスできなくなります。
クロージャと直接変更
次の点に注意することが重要です。この動作は、関数が親関数のローカル変数にアクセスできる関数を返すクロージャには対応しません。代わりに、これはオブジェクトの「参照のコピー」動作の結果であり、参照への変更が元のオブジェクトに影響を与えることを可能にします。
以上がJavaScript での参照渡しまたは値渡し: どのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。