В чём разница между переменными var a и var $a в javascript?

Рейтинг: 9Ответов: 1Опубликовано: 17.11.2014

Добрый день!

Всё чаще в js скриптах сталкиваюсь с обявлением переменных с использованием знака доллара, т.е. вместо простого объявления var A я вижу var $A, и в дальнеймем по коду обращения к этой переменной то так $A, то вот так $(A). Вот, например, кусочек из скрипта:

var forms = function(){
    $('.js_form').each(function(){ 
        var $form = $(this),
            $customField = $form.find('[data-error]'),
            customFieldRulls = {};
        var zIndexs = function(){
            setTimeout(function(){
                $('label.error').each(function(i){
                    $(this).css({'z-index':'50'-i})
                });                     
            },200)
        };

Используются как обычные переменные, так и "переменные с долларом". Не пойму, в чём между ними разница? Это просто для удобства делается, или это что-то дополнительное с функциональной точки зрения даёт?

Ответы

▲ 11Принят

Не могу быть уверенным на все 146%, однако есть ощущение, что значком доллара тут отмечается тот факт, что значение переменной получено с помощью jQuery-селектора. Тогда как прочие, обычные js-переменные идут без этого префикса. В принципе, выглядит достаточно логично - js - язык с динамической типизацией, и понять по имени переменной, что в ней хранится, бывает не всегда возможно. Поэтому префикс в виде доллара облегчает это понимание.

Однако, вне зависимости от того, верно ли мое предположение, или нет, какого-то нового функционала объявление "с долларом" не несет - в js это такой же символ, который можно использовать в названиях идентификаторов, что и прочие