recherche

Maison  >  Questions et réponses  >  le corps du texte

$.extend的相关问题求解?

var options=$.extend({

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

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

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


高洛峰高洛峰2939 Il y a quelques jours673

répondre à tous(2)je répondrai

  • 欧阳克

    欧阳克2016-11-12 10:07:19

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

    répondre
    0
  • 三叔

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


    répondre
    0
  • Annulerrépondre