2

JavaScript または jQuery プラグインで、この構文に何度も遭遇しました。

$.fn.testPlugin = function( options ) {  

    // Create some defaults, extending them with any options that were provided
    var settings = $.extend( {
      'location'         : 'top',
      'background-color' : 'blue'
    }, options);

機能が拡張されていることは理解していますが、その後$.extend({})はわかりません。

4

2 に答える 2

3

この$.extend()メソッドは、2番目(およびそれ以降)のパラメーターのオブジェクトで指定されたキーと値のペアを、最初のパラメーターで渡されたオブジェクトにマージします。次に、結果として(更新された)最初のパラメーターを返します。

したがって、これはこれら2つのオプションのデフォルト値を指定する方法にすぎず、プラグインユーザーがoptionsパラメーターをプラグインに渡すとオーバーライドされます。

たとえば、次のように電話した場合:

$(el).testPlugin({ location: 'left' });

プラグイン内では、結果の設定は次のようになります。

var settings = {
    location:         'left',
    background-color: 'blue'
};
于 2013-03-20T12:57:58.660 に答える
0

jQuery.extend() is syntax for merging the contents of two or more objects together into the first object. http://api.jquery.com/jQuery.extend/

于 2013-03-20T12:59:04.163 に答える