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

推薦する

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

HTML テーブルインライン形式の詳細な説明

インライン形式<colgroup>...</colgroup>属性名 属性値...

Vue ログインページ用の動的パーティクル背景プラグインの実装

目次動的パーティクル効果は次のとおりです。プラグインをインストールする動的パーティクル効果は次のとお...

Vue.jsは画像切り替え機能を実装する

この記事では、画像切り替え機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

uniapp パッケージ化されたアプレット レーダー チャート コンポーネントの完全なコード

効果画像:実装コードは以下のとおりですビュー <canvas id="radar-c...

CSS ボックスの折りたたみに対する 5 つの解決策

まず、ボックスコラプスとは何でしょうか?親ボックスの内側にあるべき要素が外側にあります。第二に、箱は...

Linux の traceroute コマンドの使用方法の詳細な説明

Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...

サーバー間のファイル バックアップ ソリューション、サーバー ファイルを別のサーバーに自動的にバックアップする方法は?

多くの組織ではファイル サーバーをバックアップする必要があり、あるサーバーから別のファイル サーバー...

Linuxパフォーマンス監視コマンドの簡単な紹介

システムでさまざまな IO ボトルネック、メモリ使用量の増加、CPU 使用率の増加などの問題が発生し...

MySQL カーディナリティ統計の簡単な分析

1. カーディナリティとは何ですか?カーディナリティとは、MySQL テーブルの列内の異なる値の数を...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

JSで画面録画機能を作成する

OBS studioかっこいいですが、 JavaScriptもっとかっこいいです。では、 JavaS...

URLに基​​づいてリクエストを転送するnginxの実装の実践経験

序文これは fastdfs を使用してイントラネット外部に展開された分散ファイルシステムであるためで...