$.extend的相关问题求解?

var options=$.extend({

         inside:window,
         transiton:0,
         minX:0,
         minY:0,
         withScrolling:true,
         vertical:true,
         horizontal:true
     },options);
     
这段代码应该是设置参数的默认值。请问:

第一行的options和最后一行的options分别是什么意思,

$.extend在这里是起什么作用。

阅读 2.9k
3 个回答

合并参数

function call_me(options)
    var default_options = {
        x: 123,
        y: 234
    }
    options = $.extend(default_options, options);
    console.log(options);
}

当我用这个函数时

callme ({
    x: 222
});

最终得到的参数为

{
    x: 222,
    y: 234
}

$.extend 是后面参数覆盖前面参数(前面一般指默认参数), 并且会保留没有传递的默认参数.

注意:$.fn.extend 在大部分时候是指 新建一个jQuery的插件,但是实现的逻辑和 $.extend 一样

就是合并同名的对象属性呀,后面的会合并前面的. jq 写插件的时候经常这样写 $.extend(this,_default,option);option指的是你自定义的参数,_default指默认的参数,这里的意思是,你自定义的参数会覆盖同名的默认参数!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题