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

推薦する

202 無料の高品質 XHTML テンプレート (2)

前回の記事「202 個の無料高品質 XHTML テンプレート (1)」に続き、123WORDPRES...

jQueryで大画面スクロール再生効果を実現

この記事では、大画面スクロール効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

JavaScript データのフラット化の詳細な説明

目次フラット化とは何か再帰トストリング減らすアンダーコア_.平坦化_。連合_。違い要約するフラット化...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

NavicatがMySQLに接続すると、10060、1045エラーとmy.iniの場所が報告されます。

Navicat は、データベースに接続するときにエラー 10060 および 1045 を報告します...

JavaScript Canvas は動的なワイヤーフレーム効果を描画します

この記事では、JavaScript Canvasの動的なワイヤーフレーム効果を描画する具体的なコード...

nginxフロー制御とアクセス制御の実装

nginx トラフィック制御レート制限は非常に便利ですが、Nginx では誤解され、誤って設定される...

ネガティブマージン関数の紹介と使用方法の概要

1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

Centos7 構成 fastdfs および nginx 分散ファイル ストレージ システムの実装プロセス分析

1. libfastcommon-1.0.43 をインストールします。インストール パッケージは h...

mysql indexof関数の使用手順

以下のように表示されます。 LOCATE(部分文字列、文字列)文字列 str 内の部分文字列 sub...

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

MySQLクエリ文を書き換える3つの戦略

目次複雑なクエリとステップバイステップのクエリクエリステートメントを分割する共同クエリの分解問題のあ...

MySQL エラー: 接続数が多すぎる場合の解決策

MySQLデータベースの接続が多すぎますこのエラーは明らかに、mysql_connect の後に m...

Linux で PHP curl 拡張機能をインストールする方法の詳細な説明

この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...