ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptクローンオブジェクト徹底入門_基礎知識

JavaScriptクローンオブジェクト徹底入門_基礎知識

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-05-16 17:48:01
オリジナル
1115 人が閲覧しました

js には一般に 2 つの異なるデータ型の値があります:
基本型 (未定義、Null、ブール、文字列、数値を含む)、値によって渡されます。
参照型 (配列、オブジェクトを含む)、アドレス、参照によって渡されます。 type は値で渡される場合のメモリ内のアドレスです。
クローンまたはコピーは 2 つのタイプに分類されます。
浅いクローン作成: 基本タイプは値によって渡され、オブジェクトは依然として参照によって渡されます。
ディープ クローン作成: すべての要素または属性が完全にクローンされ、元の参照タイプから完全に独立します。つまり、オブジェクトの属性が後で変更されても、元のオブジェクトは変更されません。

コードをコピー コードは次のとおりです。

function cloneObject(obj){
var o = obj.constructor === 配列 ? [] : {};
for(var i in obj){
if(obj.hasOwnProperty(i)){
o[i] = typeof obj[i ] === "オブジェクト" ? cloneObject(obj[i]) : obj[i]>}
}

}

別: 単純な配列であり、要素に参照型の値がない場合は、array.concat(); または array.slice(0); を使用して配列を深くコピーできます。効率的。配列 concat() とスライス() は新しい配列を生成しますが、元の配列は影響を受けません。ただし、コピーされた配列の要素に参照型の値が存在しないことを確認する必要があることに注意してください。
これも、非常にシンプルで実用的なディープ クローン作成方法です。

コードをコピー コードは次のとおりです。
var s = JSON.stringify( obj );
var o = JSON.parse( s );
関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
ノード Js + JS 入力 = document.getElementById
から 1970-01-01 08:00:00
0
0
0
js addClassが機能しない
から 1970-01-01 08:00:00
0
0
0
javascript - jsコードをPythonに変換
から 1970-01-01 08:00:00
0
0
0
jsファイルのコードが見つかりません
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート