jsでの浅いクローンと深いクローン

458 ワード

まず、jsのデータ型には単純なタイプと参照のタイプがあります.文字列タイプの場合、浅いクローンは値のコピーであり、オブジェクトの場合:浅いクローンは新しいスタックが開かれていないことを意味し、オブジェクトアドレスのコピーです.同じメモリアドレスを共有し、1つのオブジェクトの変更が別のオブジェクトに影響します.深いクローンとは、2つのオブジェクトが異なるアドレスに対応することを意味します.
JQueryのextendの最初のパラメータは、深いコピーであるかどうかを設定できます.
//   
var  obj = {a:{a:1}};
var  obj1 = {a:{a:2}};
$.extend(true, obj, obj1);

最も簡単なコピー
b = JSON.parse( JSON.stringify(a) )
//  
      
     ,    object,      。