jQuery插件语法/ JavaScript语法?

时间:2013-03-20 12:55:46

标签: javascript jquery

我在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({})后的内容对我来说并不清楚。

2 个答案:

答案 0 :(得分:3)

$.extend()方法将第二个(和后续)参数中的对象中给出的任何键/值对合并到第一个参数中传递的对象中。然后它返回(更新的)第一个参数作为结果。

因此,这只是为这两个选项指定一些默认值的方法,这些默认值将被插件用户在options参数中传递给插件的任何选项覆盖。

例如,如果您致电:

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

然后在插件中生成的设置将是:

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

答案 1 :(得分:0)

jQuery.extend()是将两个或多个对象的内容合并到第一个对象中的语法。 http://api.jquery.com/jQuery.extend/