2013-03-20 62 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' 
};