Ответ 1
Как вы, кажется, понимаете, неплохо было бы не сбрасывать все ваши служебные функции в глобальное пространство имен. Чем меньше вы можете влиять на глобальное пространство имен, тем лучше. Если у вас уже есть jQuery, то ваш выбор места их размещения:
- В качестве новых методов для объекта jQuery:
jQuery.myUtil1()
,jQuery.myUtil2()
. - Как новые методы под одним объектом объекта jQuery:
jQuery.jfUtils.myUtil1()
,jQuery.jfUtils.myUtil2()
. - Как новые методы для одного нового глобального объекта (ничего общего с jQuery):
jfUtils.myUtil1()
,jfUtils.myUtil2()
.
Вариант 2) мне лучше, чем вариант 1), потому что вы уменьшаете вероятность столкновения с другими функциями jQuery, хотя вы добавляете дополнительный поиск для каждого вызова функции.
Вариант 3) представляется мне совершенно приемлемым, поскольку он добавляет только один новый элемент в глобальное пространство имен, поэтому, если вы сделаете его имя уникальным, вы должны быть в порядке.
Итак, я думаю, вы могли бы пойти либо с вариантом 2), либо с вариантом 3). Вариант 2) может быть немного более безопасным, потому что вы знаете общую степень того, что находится в этом пространстве имен, но они могут работать.