浅谈jQuery.extend

var settings = $.extend({}, defaults, options);

执行这段代码,将合并defaults和options,并保存在settings和空对象{}里,而defaults里面的内容不会受到更改。

options为空时

$('a.tooltip').tooltip();

 

开始时,defaults定义为:

var defaults = {background: '#e3e3e3', color: 'black', rounded: false}

而options是tooltip的一个变量参数,由用户自己定义。如果参数为空,那合并后的内容就跟defaults对象一样,此时:

var settings == {background: '#e3e3e3', color: 'black', rounded: false};

{} == {background: '#e3e3e3', color: 'black', rounded: false};

{} 为空对象

 

给options增加属性

 $('a.tooltip').tooltip({rounded: true}); 

这个时候,options为:

options == {rounded: true}

合并defaults和options后,结果为:

var settings == {background: '#e3e3e3', color: 'black', rounded: true};

{} == {background: '#e3e3e3', color: 'black', rounded: true};

可以看到,合并后的内容,对于相同的属性,后面的属性值将替换掉前面的属性值。

posted on 2010-07-08 15:45  realbeyond  阅读(251)  评论(0)    收藏  举报

导航