В чем разница в названии переменных со знаком $ и без него? И что где лучше использовать?
Привет всем. Я понимаю что с долларом - jQuery обьект. Обьясните в каких случаях обязательно использовать с $, а когда можно на свое усмотрение.
Спасибо.
Символом $ как правило обозначают переменные с выборкой элементов и никакого функционала не несут. Всё это только ради удобства, чтобы быстро отличать в коде переменные с выборкой. Например:
var $divs = $('div'), // выборка из всех div-элементов
$p = $('p'), // выборка из всех p-элементов
$code = document.getElementsByTagName('code'); // также выборка нативным методом, которая хранит все code-элементы
поправка - обычно так обозначают как раз таки переменные, содержащие выборку в jQuery обертке. Так что для лучаев типа getElementsByTagName или querySelectorAll нету смысла добавлять $ к назнанию переменной. Возможно люди просто по привычке так делают.
Я думаю что это наследие php программистов которые пишут js код.
В php любая переменная должна начинаться с $, соответственно некоторые когда пишут js - именуют их так же для единообразия.
У самого js требований на именование переменных нет.
Jquery выбрали символ $ для обозначение своего объекта просто так.
В корне не верно. В Angular'е, на сколько мне не изменяет память, сервисы обозначаются переменными с $ в начале.
В случае же с jQuery - это просто удобный алиас.
Сомневаюсь, что разработчики Angular и jQuery когда-нибудь были поклонниками PHP :)
@zBit, символ $ для некоторых сервисов обозначает что это сервисы ангуляра. Точно так же как методы apply (который у объекта Scope и так есть) и $apply. Так же два символва подряд означают что это приватные переменные, к которым лучше не обращаться. Например $scope.$$phase.
В случае с jQuery, знак $ - это просто алиас.
Используйте как вам удобнее. Но правила хорошего тона - использование алиаса в виде одного символа ($), а не слова из 6 символов (jQuery), это уменьшает размер и, как мне кажется, улучшает читаемость кода.
Как уже написали - разницы нет, знак $ не является обязательным. Добавлю еще, что главное тут единообразие. Задайтесь одним правилом наименований, и используйте его в проекте, а лучше во всех своих проектах, а то потом будет тяжело читать код.
У меня у самого с этим проблема.
Вот в помощь learn.javascript.ru/variable-names