2013-03-20 36 views
2

我碰到這個syntaxt來了很多次,在JavaScript或jQuery插件jQuery插件語法/ JavaScript語法?

$.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({})是我也不清楚。

回答

3

$.extend()方法將合併在所述第二(和隨後的)參數對象給予到第一參數傳遞的對象的任何鍵/值對。然後它返回(更新的)第一個參數作爲其結果。

因此,這只是爲這兩個選項指定一些默認值的一種方式,插件用戶將options參數傳遞給插件的任何內容都將覆蓋這些默認值。

例如,如果調用:

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

則插件所得設置將內:

var settings = { 
    location:   'left', 
    background-color: 'blue' 
};