jQuery插件语法/JavaScript语法?

jQuery插件语法/JavaScript语法?,javascript,jquery,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' : 'blu

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

该方法将把第二个(以及后续)参数中的对象中给定的任何键/值对合并到第一个参数中传递的对象中。然后返回(更新的)第一个参数作为结果

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

例如,如果您打电话:

$(el).testPlugin({ location: 'left' });
然后在插件中,生成的设置将是:

var settings = {
    location:         'left',
    background-color: 'blue'
};
extend()是将两个或多个对象的内容合并到第一个对象中的语法。