Зачем передавать пустой объект методу расширения jQuery? #39;

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

Я что-то упустил?

14
задан Joseph Silber 1 January 2013 в 18:15
поделиться