jQuery имеет очень аккуратный extend
метод, который объединяет 2 объекта в один.
На странице jQuery Plugins authoring они показывают пример следующим образом:
var settings = $.extend({
'location' : 'top',
'background-color' : 'blue'
}, options);
Однако, я видел, что многие плагины передают пустой объект в качестве первого параметра, например:
var settings = $.extend({}, {
'location' : 'top',
'background-color' : 'blue'
}, options);
Насколько я могу судить, эти два делают то же самое. Единственная разница была бы в том, что defaults
был бы сохранен в своей собственной переменной:
var defaults = {
'location' : 'top',
'background-color' : 'blue'
},
settings = $.extend({}, defaults, options);
Таким образом, вы всегда можете получить доступ к своим значениям по умолчанию без их переопределения с помощью options
.
Здесь вопрос: Почему так много авторов плагина предпочитают передавать пустой объект в extend
, даже если они не сохраняют значения по умолчанию в переменной?
Я что-то пропустил?