$ против jQuery - PullRequest
       26

$ против jQuery

68 голосов
/ 06 февраля 2010

Мы переключаемся с MooTools на jQuery на работе. У меня есть коллега, который сказал мне никогда не использовать $ в качестве префикса при использовании метода jQuery (если я его правильно понял). Он сказал, что вместо этого более подходящим или более безопасным способом (я действительно не следовал за ним) было использование jQuery..

Таким образом, вместо $.plugin() следует использовать, например, jQuery.plugin().

С чего бы это было? Какое различие он делает с $ / jQuery? Должен ли я забыть о знаке доллара в качестве моего аксессуара? Только при определенных обстоятельствах?

Ответы [ 4 ]

83 голосов
/ 06 февраля 2010

С чего бы это было?Правильно ли различие его $ / jQuery?

Поскольку почти каждая библиотека JavaScript определяет функцию с именем $.Если в одном документе много библиотек, могут возникнуть конфликты.Если вы уверены, что jQuery является и всегда будет единственным скриптом, определяющим эту функцию, я не буду иметь ничего против использования $.

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()
11 голосов
/ 06 февраля 2010

$ является псевдонимом jquery и теоретически может быть псевдонимом чего-то другого в другой включенной библиотеке или скрипте, что может привести к путанице или, что еще хуже. Если вы используете только jquery, хорошо использовать $.

5 голосов
/ 13 мая 2015

В дополнение к другим ответам о конфликтах с другими библиотеками, имя переменной всегда должно описывать переменную. jQuery - гораздо более описательное имя переменной, чем $.

4 голосов
/ 06 февраля 2010

Это чтобы избежать конфликта с другими библиотеками, такими как Prototype, который использует тот же $.

Я предпочитаю $, и нет проблем с его использованием, если вы используете только Jquery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...