Ответ 1
Если вы имели в виду $([])
, то что-то из старых дней, когда вызов $()
был фактически эквивалентен $(document)
(это была недокументированная функция). Поэтому, чтобы получить пустой набор, вы должны вызвать $([])
. Это было изменено в jQuery 1.4; документированная функциональность $()
теперь возвращает пустой набор.
Передача объектов в конструктор jQuery - совершенно другой зверь. $({})
не создает пустой объект jQuery. Он создает объект jQuery длиной 1; выбранный элемент - это сам объект.
Передача объектов JS в конструктор jQuery позволяет использовать более эзотерическую функцию jQuery: привязка и запуск событий на объектах (не-DOM).
Например:
var obj = { some: 'stuff' };
$(obj).on('someevent', function() { ... });
$(obj).trigger('someevent');
В любом случае, если ваша цель - создать новый пустой объект jQuery, используйте $()
.