Можно, но не желательно:
Ecma Script (7.6 Identifiers, ECMA-262, 3rd Ed.) сказано: «Символ доллара предназначен для использования только в автоматически сгенерированном коде». Это означает, что мы не должны использовать символ доллара ($) в идентификаторах, кроме тех случаев, когда мы пишем фреймворк.
У нас с коллегой вышел спор.
Я просто переменные содержащие объекты jQuery называю через $. Например, $table = $('table');
А он считает, что так категорически делать нельзя, типа это вносит путаницу и вообще противоречит правилам.
Я использую знак доллара для часто используемых и простых функций. В маленьких проектах, таких как юзерскрипты, лучше написать пару маленьких функций, чем тянуть jQuery, который парсится 100-200мс.
Например, $(x) — получить элемент по id, $x — вернуть массив элементов по xpath, $q — ajax-запрос.
Я по началу подумал что вы про пхп спрашиваете, потом только увидел в каком блоге эта публикация.
По опросу, имхо, можно, но не желательно. Лучше оставлять $ как спецсимвол для особых переменных, например, как советует ECMA (выше уже написали), или для jQuery.
Помнится, взглянув как-то в такой код, долго не мог понять, PHP это или нет. Потом дошло.
В любом случае, если и использовать, то по согласованию со всеми разработчиками.
А я знак $ использую для внутренних переменных, что бы не путать с глобальными. Весьма удобно. Да и привычка от PHP ставить знак $ уже на автомате ставить $ :D
Мне кажется, название топика некорректное. JavaScript позволяет использовать $ в именах переменных, к Гуглу не ходи. А вы, видимо, хотите узнать кто что думает, следует ли это делать.
Раз стандарт позволяет, то можно. Но если вы работаете в команде, то необходимо всех предупредить и со всеми договориться, чтобы никаких проблем с недопониманием не возникало.
На самом деле, это дело привычки и вкуса. Хотите ставьте, хотите — нет.
Да согласен про команду.
Но в любом случае просто я считаю, что это удобнее и что как раз именно такое использование разрешено правилами, а коллега нет :)
Лично мне $something не нравится (исходя из соображений что может быть только один «something», а не something и еще $something)
Считаю, что если ты не уверен является ли something объектом jQuery или ссылкой на HTMLObject — то используй лишний раз $(something) и не парься. Можно померять оверхед, но думаю не очень большой. В принципе логично, чтобы $() первым делом проверял объект на «жквернутость» и в таком случае возвращал его же.
Спасибо, проблему я понял, и комментарий мой вы прочитали не весь.
Я специально посмотрел исходник, у $($(something)) будет только три лишние проверки (на nodeType, typeof string, typeof function) прежде чем она возвратит объект. Вряд ли это можно сопоставить с реальным боттлнеком в вашем скрипте.
Можно ли в названии переменной использовать $ (знак доллара)?