JQueryでのextendメソッドの概要

1133 ワード

$.extend(dest,src1,src2....srcN)  

src 1、src 2...src Nの各項目をdestの各項目にマージし、マージ後のオブジェクトに戻るとdestが変更されます
$.extend({},dest,src1,src2...srcN);

src 1、src 2...src Nの各項目はdestの各項目にマージされ、マージされたオブジェクトに戻ります.destは変更されません.
var src1 = {name:"tom",location:{city:"Beijing",county:"China"}};
var src2 = {name:"job",location:{live:"New York",county:"USA"}};
$.extend(true,src1,src2); 
==>  
{name: "job", location: {city: "Beijing",county: "USA",live: "New York"}}

深層コピー:
2番目のパラメータオブジェクトに属性がある場合、最初のパラメータオブジェクトもある場合は、同じパラメータを次のレベルに探し続け、同じパラメータのオブジェクトに異なる属性があるかどうかを比較し、ある場合は最初のオブジェクトに継承し、ない場合は上書きします.中のサブエレメントもマージされます
$.extend(false,src1,src2); 
==> 
{name: "job", location:{live:"New York",county:"USA"}}

浅いコピー:
デフォルトはfalse(浅いコピー)であり、falseは表示できない書き込みです.書きたい場合はtrue(深コピー)~~2番目のパラメータオブジェクトに属性がある場合は1番目のパラメータオブジェクトもあれば、同じパラメータ内部の比較は行わず、1番目のオブジェクトの同じパラメータを直接上書きします.中のサブエレメントはマージされず、直接上書きされます.