$.extend( [deep ], target, object1 [, objectN ] );
deep :是否深度合并,默认false。
target:目标对象,输出的对象。
object1:被合并的对象。
.
.
.
.
objectn:可多个
后面覆盖前面的。
deep true和false 的区别.
$.extend(true,{'A1':{'A2':'a2','C2':'c2'},'B1':'b1'},{'A1':{'A2':'a22','B2':'b22'},'C1':'c1'});
$.extend(false ,{'A1':{'A2':'a2','C2':'c2'},'B1':'b1'},{'A1':{'A2':'a22','B2':'b22'},'C1':'c1'});

图片1.png
浅拷贝(false 默认):如果第二个参数对象有的属性第一个参数对象也有,那么不会进行相同参数内部的比较,直接将第一个对象的相同参数覆盖。
深拷贝(true):如果第二个参数对象有的属性第一个参数对象也有,还要继续在这个相同的参数向下一层找,比较相同参数的对象中是否还有不一样的属性,如果有,将其继承到第一个对象,如果没有,则覆盖。
浅拷贝(false)target的‘A1’会被object1的‘A1’直接覆盖, target ‘A1’的'C2'丢失。
深拷贝(true)target 的‘A1’和object1的‘A1’会继续比较,’A1’内相同的属性覆盖。target ‘A1’的'C2'不丢失,同名属性被object1的覆盖。