jquery 中 extend 函数
jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。
注意:1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。
语法
$.extend( target [, object1 ] [, objectN ] )
指示是否深度合并
$.extend( [deep ], target, object1 [, objectN ] )
参数 | 说明 |
---|---|
deep | 可选。 Boolean类型 指示是否深度合并对象,默认为false。如果该值为true,且多个对象的某个同名属性也都是对象,则该”属性对象”的属性也将进行合并。 |
target | Object类型 目标对象,其他对象的成员属性将被附加到该对象上。 |
object1 | Object类型 第一个被合并的对象。 |
objectN | Object类型 第N个被合并的对象。 |
eg:
var resultA=$.extend({},{name:"A",age:21},{name:"B",sex:"Boy"})
resultA={name:"B",age:21,sex:"Boy"}
var resultB=$.extend( true, {},
{ name: "A", location: {city: "beijing",county:"us"} },
{ last: "B", location: {state: "shanghai",county:"China"} } );
resultB{name:"A",last:"B",location{city:"beijing",state:"shanghai",county:"China"}}
var resultC=$.extend( false, {},
{ name: "A", location: {city: "beijing",county:"us"} },
{ last: "B", location: {state: "shanghai",county:"China"} } );
resultC = {name:"A",last:"B",location:{state:"shanghai",county:"China"}}