在做JS开发时,我们将第三方复杂的插件进行封装,然后对外公开一个很简单的方法接口,这是开发时常用的方法,在JS里,我们的方法参数通常使用JQ的$.extend 扩展方法来实现
function extend(arr) { arr = $.extend({ name: 'zzl', sex: 'male', age: 31 }, arr || {}); alert("[Name:]" + arr.name + "[Sex:]" + arr.sex + "[Age:]" + arr.age); }
在页面调用时:
<a href="#" onclick="extend();return false;">extends</a>
输出内容为:
即如果我们没有为arr指定值,它会把默认的值进行输出,如果我们为arr对象的某个属性赋值,结果会怎样?
<a href="#" onclick="extend({name:'占占'});return false;">extends</a>
上面代码,我们改变了name属性的性,结果输出为:
即,它只修改了指定属性的值,对象的其它值保持为原来的默认值。
JS中的||运算符与C#中的||作用相同,都是“逻辑或”,而在本例中它的用法是,如果arr对象为空,然后将{}赋值给它,这个功能类似于C#里的
??运算符,所以JS里的||挺强大,呵呵。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:Js-$.extend方法使方法参数更灵活,如需转载请自行联系原博主。