В чем разница между $ one и var one в JavaScript? Потому что оба работают.
Пример:
$one = 'hello word!';
var one = 'hello word!';
Рабочий пример: http://jsfiddle.net/rS9PR/
В чем разница между $ one и var one в JavaScript? Потому что оба работают.
Пример:
$one = 'hello word!';
var one = 'hello word!';
Рабочий пример: http://jsfiddle.net/rS9PR/
var one
гарантирует, что переменная устанавливается в локальной области.
По умолчанию $one
присвоит переменную глобальной области действия.
Они оба являются переменными именами. В JavaScript символ $ является допустимым символом для имени переменной. Ключевое слово var просто задает область имен переменных в вашем примере.
$ стал популярным благодаря его использованию в различных библиотеках JavaScript, таких как jQuery, однако это вполне допустимый символ имени переменной.
Нет разницы, имя переменной может содержать знак $
. Вы только что объявили две разные переменные: $one
и one
.
upd: согласно комментарию @yi_H - две переменные на самом деле имеют разные области. var
ключевое слово используется для объявления переменной в текущей области, однако, если вы опускаете var
, оно определено в глобальном пространстве имен
вы пропустили часть 'var' –
$ one определено в глобальной области видимости и будет видимым в каждой функции. var one
определяется в его охватывающей области и не виден снаружи.
Некоторые люди используют "$" в качестве префикса для обозначения объекта JQuery, как:
$text = $("#myTextElement");
Ничего особенного около $; просто другое имя переменной. Использование «var» говорит интерпретатору, что переменная имеет локальную область. WIthout var => global. то есть; доступ из любой точки страницы.
Оба названия являются действительными идентификаторами, без разницы. Для использования ключевого слова var см. What is the purpose of the var keyword and when to use it (or omit it)?
$
в $one
не означает ничего особенного. Это просто еще одна нормальная переменная JavaScript. Между некоторыми разработчиками существует соглашение, в котором префиксные переменные содержат $
, чтобы указать, что переменная содержит объект jQuery. Это чисто для стиля и удобочитаемости и не имеет технического или синтаксического воздействия.
При пропускании var
из декларации, браузер будет прикрепить переменный глобальный объект:
foo = 'bar';
alert(window.foo); // 'bar'
Это имеет некоторые довольно серьезные последствия для любого сайта, который имеет более чем тривиальное количество JavaScript (категория, которая быстро растет в течение последних нескольких лет). Наилучшая практика заключается в том, что всегда объявляет переменные с var
, чтобы предотвратить ряд проблем позже в будущем.
См.: What is the scope of variables in JavaScript? для получения более подробной информации о переменной области.
Ввод $ перед переменными - это венгерская нотация для jQuery. Пожалуйста, не делай этого. – Daff
one = 'hello word!'; // глобальная область, var one = 'hello word!'; // локальная область –