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