Js-$.extend方法使方法参数更灵活

在做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里的||挺强大,呵呵。

posted @ 2012-11-30 09:24  张占岭  阅读(3778)  评论(0编辑  收藏  举报