举例分析jQuery.extend()方法

今天大体看了一遍extend方法的源码,特意过来分享一下本身的理解code

方法jQuery.extend()和jQuery.fn.extend()用于合并两个或对个对象的属性到第一个对象对象

syntax:
    jQuery.extend([deep],target,object1,[,objectN])
    jQuery.fn.extend([deep],target.object1,[,objectN])

解释一下参数的具体做用:
参数deep是boolean型,用于表示是否进行递归合并(也叫作深层拷贝)
在此解释一下什么是递归合并,递归合并就是当所要合并的对象具备相同的属性时,只保留其中的一个属性,并舍弃其余的,使合并后属性惟一
deep默认值为false;递归

来我先举个例子让你们对递归合并混个脸熟get

$rel = $.extend({}, //使用空对象做为默认值,这里使用默认值false            
                {vehicle:'Porsche',color: 'red',feature:'import',
                                speed:    {min:'100',max:'200',average:'150'}},
                {vehicle: 'BMW',color:'blue',
                                speed:{min:'20',max:'40'    }}
)//第二个对象多了一个feature属性

//输出为 {vehicle:'BMW',color:'blue',speed:{min:'20',max:'40'}
//若是这里用true的话,speed变为{min:'20',max:'40',average:'150'}

参数target表示合并后的目标对象
参数objectN表示所要进行合并的源对象源码

但当只提供一个对象时,则忽略目标对象,并将jQuery或jQuery.fn当作目标对象,这个方法用于向jQuery或jQuery.fn对象添加属性,而且这是个添加属性的实用技巧import

相关文章
相关标签/搜索