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

推薦する

Vue+canvas は、ウォーターフォール チャートを上から下までリアルタイムに更新する効果を実現します (QT と同様)

早速ですが、デモ画像をご紹介します。実装されている機能は、左側に凡例、右側にウォーターフォール チャ...

Vue 初心者ガイド: 環境の構築と開始方法

目次初期ビューVue開発環境の構築Vueインスタンスの作成Vue テンプレート構文Vue データバイ...

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

html オプション 無効 選択 選択 無効 オプションの例

コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...

スライドドアを実装するための CSS サンプルコード

いわゆるスライディングドアテクノロジーとは、さまざまな長さのテキストに合わせてボックスの背景を自動的...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

IDEA Maven プロジェクトで Tomcat をデバッグ モードで実行する詳細なチュートリアル

1. pom.xmlに次の依存関係を追加します。 <依存関係> <groupId&...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...

React Native JSIはRNとネイティブ通信のサンプルコードを実装します

目次JSIとはJSIの違いiOS で JSI を使用するiOS 設定RN側の構成jsはパラメータ付き...

Docker は 2003 年の問題を解決するために MySQL リモート接続を導入しました

MySQLへの接続ここでは、リモート接続に navicat を使用します。MySQL に接続する前に...

vue-element-admin グローバル読み込み待機中

最近の要件:グローバルロード、すべてのインターフェースはロード待機機能を表示するかどうかを手動で制御...

MySql5.7.18 の文字セット構成の詳細なグラフィック説明

背景:かなり前(2017.6.5、記事にはタイムリーさがあり、特に使用されているツールは頻繁に更新さ...

MYSQL メタデータ ロック (MDL ロック) の理論とロック タイプ テスト

目次MYSQL メタデータ ロック (MDL ロック) 学習理論とロック タイプ テスト1. 予備的...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

MySQL 8.0.16 圧縮版のダウンロードと Win10 システムへのインストール チュートリアル

公式サイトからダウンロード: https://www.mysql.com MySQLの公式サイトにア...