$ 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 - гораздо более описательное имя переменной, чем $.