Ответ 1
Нет, это неплохая практика, и нет разницы в производительности.
Идентификаторы $
и jQuery
относятся к тому же экземпляру функции.
Это делается с помощью последней строки jQuery.js:
window.jQuery = window.$ = jQuery;
Недавно я слушал подкаст, который комментировал использование $()
vs с помощью jQuery()
. Было указано, что каждый раз, когда используется $()
, создается новый объект, а при использовании jQuery()
это не так. Я google'd вокруг, но не мог найти что-либо по этой конкретной теме.
Я понимаю, что это не типичный пример, но вот почему я заинтересован в ответе на этот вопрос.
У меня есть страница, которую пользователь будет загружать в браузере целый день (24 часа или, возможно, дольше), а обновления выполняются в DOM каждые ~ 5 секунд в результате вызова AJAX через jQuery ( Часть вызова AJAX не имеет отношения к обновлению DOM - обновление для DOM выполняется с использованием строки HTML и вызова объекта jQuery для .empty()
, а затем .html()
).
После прослушивания этого, я впоследствии переключил все вызовы $()
на вызовы jQuery()
, но я хотел бы знать:
Использует $()
против использования jQuery()
плохой практики? Существует ли незначительная разница между этими двумя? Или это действительно заметно в крупных проектах?
Нет, это неплохая практика, и нет разницы в производительности.
Идентификаторы $
и jQuery
относятся к тому же экземпляру функции.
Это делается с помощью последней строки jQuery.js:
window.jQuery = window.$ = jQuery;
Единственная проблема с использованием $()
over jQuery()
- это возможность использования другой среды Javascript.
Нет - посмотрите исходный код jQuery. $- это еще один псевдоним для jQuery - последняя строка говорит все:
window.jQuery = window.$ = jQuery;
Смотрите сами: http://code.jquery.com/jquery-latest.js
Для меня цель состоит в том, чтобы избежать столкновения имен с другими библиотеками, которые также используют $в качестве основного объекта, например Prototype, если вы хотите использовать обе библиотеки на одной странице или вы не знаете, где будет ваш код б...
Вы уверены, что это $() vs jQuery()? Возможно, более существенным моментом является то, что есть и хиты производительности, и многие новые js-кодеры используют $() без необходимости, когда могут выполняться простые js.
Хорошая практика избегать создания объекта jQuery, когда вам это не нужно.
Как уже говорилось ранее, единственная реальная проблема заключается в конфликте с другими используемыми фреймами js, поэтому я считаю, что это самое удобное решение, которое все еще может использовать знак доллара, но не имеет конфликтов и делает ваш код более переносимым
(function($) { /* some code that uses $ */ })(jQuery)
http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery