Мне нравится использовать указатели на функцию по большому количеству причин. Для одного они - самая близкая вещь, которую я нашел в MATLAB к указателям, таким образом, можно создать подобное ссылке поведение для объектов. Существуют некоторые аккуратные (и более просты) вещи, которые можно сделать с ними, также. Например, замена оператора переключения:
switch number,
case 1,
outargs = fcn1(inargs);
case 2,
outargs = fcn2(inargs);
...
end
%
%can be turned into
%
fcnArray = {@fcn1, @fcn2, ...};
outargs = fcnArray{number}(inargs);
я просто думаю, что небольшие подобные вещи прохладны.
.add ()
делает именно то, что вам нужно.
h3.add(btn).hide();
Если вы хотите сделать его немного более удобным для себя, с помощью функции «слияния», как в вашем вопрос, это можно легко добавить:
$.merge = function(objs) {
var ret = objs.shift();
while (objs.length) {
ret.add(objs.shift());
}
return ret;
};
$.merge([h3, btn]).hide()
$(btn).add(h3).hide();
Не уверен, что это работает, документация для добавления не упоминает наличие объекта jQuery в качестве параметра, а только список элементов, поэтому, если это не так это должно работать:
$(btn).add(h3.get()).hide();