jQueryのコピーオブジェクトの詳細な説明

jQueryのコピーオブジェクトの詳細な説明

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <script src="jquery.min.js"></script>
    <スクリプト>
        $(関数() {
            //1、通常のコピー、デフォルトでは浅いコピー var targetObj = {};
            var obj = {
                id: 1,
                名前: 「アンディ」
            };
            $.extend(targetObj, obj); //コピー構文、obj内の属性と属性値をtargetObjの空のオブジェクトにコピーします console.log(targetObj); //出力結果はobjオブジェクトの内容です //2.コピーしたオブジェクトに属性と属性値がある場合 var targett = {
                id: 0,
                グシュグ: 55
            };
            var objrr = {
                id: 1,
                名前: 「アンディ」
            };
            ターゲットを拡張します。
            console.log(targett); // コピーオブジェクトtargettのプロパティがコピーオブジェクトobjrrのプロパティと同じ場合、objrrのプロパティ値はtargettのプロパティ値を上書きします // コピーオブジェクトtargettのプロパティがコピーオブジェクトobjrrのプロパティと異なる場合、上書きされず、コピーオブジェクトobjrrのプロパティは後から追加されます // 3. コピーオブジェクトにオブジェクトがある場合の浅いコピー var taytuj = {
                id: 0,
                メッセージ: {
                    性別: '男性'
                }
            };
            var 戻り値 = {
                id: 1,
                名前:「アンディ」、
                メッセージ: {
                    年齢: 18
                }
            };
            $.extend(true, 長さ, レート);
            console.log(テイトゥジ);
            // 実行プロセス:
            //1. 両方のオブジェクトはメモリスタックにあり、reteオブジェクト内のmsg: {age: 18}オブジェクトはメモリヒープに配置されます。浅いコピーでは、reteオブジェクトのmsg: {age: 18}がtaytuオブジェクトのmsg: {sex: 'male'}を上書きし、属性値はメモリヒープ内のmsg: {age: 18}オブジェクトを指す16進数になります。このとき、スタックスペース内の2つのオブジェクトのmsgは、メモリヒープ内のmsg: {age: 18}を指す同じ16進アドレスを持っているため、浅いコピーが完了すると、2つのオブジェクトのmsg属性値のいずれかが変更されると、もう一方のmsgの属性値も一緒に変更されます。//浅いコピー:
            //1. 属性名が同じ場合、コピーされたオブジェクトはコピーされたオブジェクトを上書きし、順序は常に最後のものが最初になります。 //2. 属性名が異なる場合は、マージされます。 //ディープ コピー:
            //1. 属性名が同じ場合、コピーされたオブジェクトの属性と属性値は、コピーされたオブジェクトの属性と属性値を上書きし、ソートは常に新しいものから高いものへ行われます。 //2. 属性名が異なる場合、それらは結合されます。 //3. コピーされたオブジェクトとコピーされたオブジェクト内のオブジェクトのオブジェクト名が同じで属性名が異なる場合、それらは上書きされるのではなく結合されます。
        })
    </スクリプト>
</head>
<本文>
</本文>
</html>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • jQueryは$.extend(true,object1, object2);を使用してディープコピーオブジェクトメソッド分析を実装します。
  • jQuery ディープコピー Json オブジェクトの簡単な例
  • jQuery でテーブルデータの値をコピーして分割する
  • jQuery の $.extend の浅いコピーと深いコピー

<<:  コードを通じてHTMLエスケープ文字を識別する方法について説明します

>>:  Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

推薦する

MySQL 8.0.18 のインストールと設定のグラフィックチュートリアル

学習目標: Windowsシステムを使用してMySQLデータベースをインストールする方法を学びます。...

重要なmysqlログファイルの概要

著者: 丁易出典: https://chengxuzhixin.com/blog/post/mysq...

docker公式mysqlイメージのカスタム構成の詳細な説明

インストール時間を節約するために、公式の mysql docker イメージを使用して mysql ...

MacOS Catalina アップグレード後の VMware ブラック スクリーン問題に対する完璧な解決策の詳細な説明

MacOS Catalina アップグレード後の VMware ブラック スクリーンに対する完璧なソ...

MySQL テーブルがロックされているかどうかを照会する方法

具体的な方法: (推奨チュートリアル:MySQLデータベース学習チュートリアル)テーブルロックの状態...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

Nginx タイムアウト設定の詳細な説明

最近、プロジェクトで nginx を使用し、バックエンドで Java を使用しました。バックエンドで...

サーバーの購入と初期構築方法

しばらくサーバーいじってなかったけど、やることがなくなったのでモバイルワークスに行って海外サーバーを...

WIN10 に複数のデータベースがインストールされている場合にコンピュータの速度低下を防ぐ方法

必要なときにサービスを有効にし、必要がないときは無効にします。データベース サービスを管理する方法:...

mysql5.7 リモート アクセス設定

mysql5.7 でリモート アクセスを設定することは、ユーザーを作成して権限を付与するだけでアクセ...

src 属性と href 属性の違い

src と href には違いがあり、混同される可能性があります。 src は現在の要素を置き換える...

Dockerでrabbitmqをデプロイする際に発生した2つの問題

1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...

Vue+element ui はアンカーの配置を実現します

この記事では、アンカー配置を実現するためのVue +要素UIの具体的なコードを例として紹介します。具...

MySQLのバックアップとリカバリの詳細な説明

序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...

MySQL 8.0.22 zip圧縮パッケージ版(無料インストール)のダウンロード、インストール、および構成手順の詳細

目次最初のステップはMySQLをダウンロードすることですステップ2: ダウンロードした圧縮パッケージ...