Зачем передавать пустой объект в метод расширения jQuery?
JQuery имеет очень аккуратныйextend
метод, который объединяет 2 объекта в один.
НаСтраница создания плагинов jQuery они показывают пример следующим образом:
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
, даже если они не хранят значения по умолчанию в переменной?
Я что-то пропустил?