В 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
, даже если они не сохраняют значения по умолчанию в переменной?
Я что-то упустил?