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