JavaScript変数、値の転送、アドレスの転送、およびparameters_jqueryの関係
最初に収穫物をしばらく乾燥させます:
1.javascript 変数には 2 種類の値が含まれます。1 つは参照型の値、もう 1 つは基本型の値です。参照型には、配列、オブジェクト、関数が含まれます (非基本型は参照型であると理解できます)。5 つの基本型には、未定義、null、string、boolean、number
が含まれます。2. 関数パラメータを渡すメカニズムは、変数値をコピーすることです。
本にはこう書いてあります: 「関数の外の値を関数内のパラメータにコピーすることは、ある変数から別の変数に値をコピーすることと同じです。基本型の転送は、基本型変数のコピーと同じです。と参照型の転送 参照型変数「
」のコピーと同じです。" 変数が参照型の値をコピーすると、変数オブジェクトに格納されている値のコピーも、新しい変数に割り当てられた領域にコピーされます。違いは、値のコピーが実際にはポインターであることです。 、このポインターはヒープに格納されたオブジェクトを指します。コピー操作が完了すると、2 つの変数は実際には同じオブジェクトを参照します。そのため、一方の変数を変更すると、もう一方の変数に影響します。
[注: 参照型の値をコピーすることがアドレスを渡す唯一の方法です]3. パラメーターは実際には関数のローカル変数です。
----------------------------------------------- --- --------------------------
基本概念の説明:
値の転送: A の値を B に転送し、B を変更します。A はそれに応じて変更されません。B は A と同じ値を保存します。
アドレスの転送: A のアドレスを B に転送し、B を変更すると、同時に A は A のアドレスのみを保存します (コンピューターのショートカットと同様)。
参照型のデータはスタックには存在せず、ヒープに格納されます。つまり、ヒープ内にメモリ空間を割り当てることは、含まれている値を直接格納するのではなく、格納される値をポイントし、その値がポイントされたアドレスを表します。参照型でデータにアクセスする場合、ヒープ内の実際のデータを参照するスタック上の変数の内容を確認する必要があります。参照型データは値型データに比べて記憶サイズが大きく、アクセス速度が遅くなります。
----------------------------------------------- --- --------------------------
ここで 3 つの質問があります。
[質問 1]:
change(a) 関数を実行した後、a の外側が乱されないのはなぜですか?
<script> var a = [1, 2, 3]; function change(a) { console.log(a);//[1,2,3] a = 2; //传值 console.log(a);//2 } change(a); console.log(a); //[1,2,3] </script>
[質問 2]:
change(a) 関数を実行した後、外側が乱れるのはなぜですか?
<script> var a = [1, 2, 3]; function change() { a = 2;//传值 } change(); console.log(a); //2 </script>
分析: 質問 2 と質問 1 の違いは、質問 2 ではパラメーターが導入されていないため、変数のコピーが含まれないことです。
[質問 3]:
change(a) 関数を実行した後、外側が乱れるのはなぜですか?
<script> var a = [1, 2, 3]; function change(b) { b[0] = 2; } change(a); console.log(a); //[2,2,3] </script>
確かに、変更関数を実行するとパラメータ b は a の値をコピーしたものになります。 a は参照型であるため、関数内では b と a が参照によってアドレス オブジェクトにアクセスします。 b[0]=2 が発生しても、b と a が関数内で同じオブジェクトを参照するという事実には影響しません。
[質問 4]:
change(a) 関数を実行した後、外部が乱されないのはなぜですか?
var a = [1, 2, 3]; function change(b) { console.log(b);//[1,2,3] b=2; b[0] = 2; } change(a); console.log(a); //[1,2,3]
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











i9-12900H は 14 コア プロセッサです。使用されているアーキテクチャとテクノロジはすべて新しく、スレッドも非常に高速です。全体的な動作は優れており、いくつかのパラメータが改善されています。特に包括的で、ユーザーに優れたエクスペリエンスをもたらします。 。 i9-12900H パラメータ評価レビュー: 1. i9-12900H は、q1 アーキテクチャと 24576kb プロセス テクノロジを採用した 14 コア プロセッサで、20 スレッドにアップグレードされています。 2. 最大 CPU 周波数は 1.80! 5.00 ghz で、主にワークロードによって異なります。 3. 価格と比較すると、非常に適しており、価格性能比が非常に優れており、通常の使用が必要な一部のパートナーに非常に適しています。 i9-12900H のパラメータ評価とパフォーマンスの実行スコア

Java のインスタンス変数は、メソッドやコンストラクターではなく、クラスで定義された変数を指します。インスタンス変数はメンバー変数とも呼ばれ、クラスの各インスタンスにはインスタンス変数の独自のコピーがあります。インスタンス変数はオブジェクトの作成時に初期化され、その状態はオブジェクトの存続期間全体にわたって保存および維持されます。インスタンス変数定義は通常、クラスの先頭に配置され、パブリック、プライベート、プロテクト、またはデフォルトのアクセス修飾子など、任意のアクセス修飾子を使用して宣言できます。それは私たちがこれをどうしたいかによって決まります

C++ パラメーターの型の安全性チェックでは、コンパイル時チェック、実行時チェック、静的アサーションを通じて関数が予期される型の値のみを受け入れるようにし、予期しない動作やプログラムのクラッシュを防ぎます。 コンパイル時の型チェック: コンパイラは型の互換性をチェックします。実行時の型チェック:dynamic_cast を使用して型の互換性をチェックし、一致しない場合は例外をスローします。静的アサーション: コンパイル時に型条件をアサートします。

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

C の const の詳細な説明とコード例 C 言語では、const キーワードを使用して定数を定義します。これは、プログラムの実行中に変数の値を変更できないことを意味します。 const キーワードは、変数、関数パラメータ、関数の戻り値を変更するために使用できます。この記事では、C 言語での const キーワードの使用法を詳細に分析し、具体的なコード例を示します。 const 変更された変数 const を使用して変数を変更する場合、その変数は読み取り専用変数であり、値が割り当てられると変更できないことを意味します。例: 定数

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
