Maison > Questions et réponses > le corps du texte
var options=$.extend({
inside:window, transiton:0, minX:0, minY:0, withScrolling:true, vertical:true, horizontal:true },options); 这段代码应该是设置参数的默认值。请问:
第一行的options和最后一行的options分别是什么意思,
$.extend在这里是起什么作用。
欧阳克2016-11-12 10:07:19
就是合并同名的对象属性呀,后面的会合并前面的. jq 写插件的时候经常这样写 $.extend(this,_default,option);option指的是你自定义的参数,_default指默认的参数,这里的意思是,你自定义的参数会覆盖同名的默认参数!
三叔2016-11-12 10:06:35
合并参数
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 一样