$.extend的相关问题求解?
高洛峰
高洛峰 2016-11-12 10:05:46
0
2
671

var options=$.extend({

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

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

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


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
学霸

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

三叔

合并参数

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 一样


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan