在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用。
Jquery的扩展方法原型是:
1
|
var v=$.extend(dest,src1,src2,[,src3...]);
|
作用是把src1,src2,src3合并到到dest中并返回合并后的dest.
但是在使用过程中,默认值往往是不能被改变的,
如下:
1
2
3
|
var defaut={ 'selector' : 'select' , 'default' : '默认值' , 'backcolor' : '#85e137' , 'forecolor' : '#000' };
var src={ 'selector' : 'ss' , 'default' : '笑话' , 'backcolor' : '#fff' , 'forecolor' : 'red' };
|
如果我们使用
1
|
var v=$.extend(dfault,src);
|
来进行参数的处理,那么下一次处理的时候默认值就是这次处理之后的值而不是真实的默认值了。
我们可以用下面的代码:
1
|
var v=$.extend({},dfault,src);
|
即我们使用一个空的对象作为目标参数(default),将默认参数作为第一次源参数(src),这样同样是返回了合并后的参数,但是我们的default没有被改变,还可以再次使用!
这样就实现了默认值保持不变的效果了!