$ versus jQuery
Мы переключаемся с MooTools на jQuery на работе. У меня есть сотрудник, который сказал мне никогда не использовать $
в качестве префикса при использовании метода jQuery (если бы я его правильно понял). Он сказал, что вместо этого более подходящий или безопасный способ (я действительно не следовал за ним) заключался в использовании jQuery.
.
Поэтому вместо $.plugin()
следует использовать jQuery.plugin()
, например.
Почему бы так? Какое различие он делает с помощью $
/jQuery
? Должен ли я забыть о знаке доллара в качестве моего аксессуара? Только в определенных обстоятельствах?
Ответы
Ответ 1
Почему бы так? Правильно ли это различие в $/jQuery?
Потому что почти каждая библиотека JavaScript определяет функцию с именем $. Когда у вас много библиотек в одном документе, могут возникнуть конфликты. Если вы уверены, что jQuery является и всегда будет единственным script, определяющим эту функцию, я бы не имел ничего против использования $.
jQuery определяет хорошее решение для разрешения конфликтов: jQuery.noConflict. Используя эту функцию, вы можете определить свое имя, в результате чего будет доступен jQuery, например
var $jq = jQuery.noConflict(true);
Вызов этой функции приведет к восстановлению предыдущих значений для переменных $и jQuery, когда они существовали до инициализации jQuery. Я не помню, пытались ли какие-либо другие библиотеки разрешать конфликты имен.
Если вы хотите использовать $вместо jQuery, вы все время можете запускать свой код в отдельной частной области, которая содержит определение $с помощью функции самозапускания.
(function($){
// your code goes here
$("body").append("<p>Hello World!</p>");
})(jQuery); // or even jQuery.noConflict()
Ответ 2
$является псевдонимом jQuery и теоретически может быть псевдонимом для чего-то другого в другой включенной библиотеке или script, что может привести к путанице или худшему. Если вы используете только jquery, использование $должно быть прекрасным.
Ответ 3
Чтобы избежать конфликта с другими библиотеками, такими как Prototype, которые используют тот же $.
Я предпочитаю $, и нет проблем с его использованием, если вы используете только JQuery.
Ответ 4
В дополнение к другим ответам на конфликты с другими библиотеками имя переменной всегда должно описывать переменную. jQuery
- гораздо более описательное имя переменной, чем $
.