我在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({})之后会发生什么。
发布于 2013-03-20 20:57:59
$.extend()方法将在第二个(以及后续)参数中的对象中给出的任何键/值对合并到第一个参数中传递的对象中。然后,它返回(更新的)第一个参数作为其结果。
因此,这只是一种为这两个选项指定一些默认值的方法,插件用户在options参数中传递给插件的任何选项都将覆盖这些默认值。
例如,如果您调用:
$(el).testPlugin({ location: 'left' });然后,在插件中,结果设置将是:
var settings = {
location: 'left',
background-color: 'blue'
};发布于 2013-03-20 20:59:04
jQuery.extend()是用于将两个或多个对象的内容合并到第一个对象中的语法。http://api.jquery.com/jQuery.extend/
https://stackoverflow.com/questions/15524153
复制相似问题