Переменная — это своеобразный контейнер для информации. Программист присваивает ей имя, а затем значение, которое может быть числом (целым или дробным), строкой текста, элементом объектной модели документа или функцией — чем угодно, на самом деле. Это дает ему удобный способ в дальнейшем обращаться к переменной, используя ее уникальное имя. Само значение может быть изменено и переназначено в соответствии с тем, что диктует логика сценариев JavaScript.

Следующее определение создает переменную по имени foo и присваивает ей значение 7:

var foo = 7;

Ключевое слово var позволяет разработчику «объявить» переменную. Единственный знак равенства (=) означает, что мы присваиваем ей значение. Так как это конец нашего утверждения, мы завершаем строку точкой с запятой. Переменные также можно объявлять без ключевого слова var, которое влияет на то, какая часть вашего сценария будет иметь доступ к информации, содержащейся в них.

В качестве имени переменной можно использовать все, что угодно, но убедитесь, что оно будет иметь некий смысл в дальнейшем. Не нужно называть переменную data или вроде того, имя должно описывать содержащуюся в ней информацию.

В вышеприведенном примере имя «number7» может оказаться более полезным, чем «foo».

Существует несколько правил для назначения имени переменной:

  • Наименование переменной начинается либо с буквы, либо с символа подчеркивания.
  • Допускается использование цифр, латинских букв и символов подчёркивания в любом сочетании.
  • Оно не может содержать пробелов. В качестве альтернативы вместо пробелов используйте символы подчеркивания или сэкономьте пространство и пишите слова слитно, начиная следующее с заглавной буквы (например, my_variable или myVariable).
  • В имени не должно использоваться специальных символов (! . , / \ + * =).

Значение переменной можно изменить в любой момент, переопределив его в любой позиции сценария. Помните: JavaScript чувствителен к регистру.

Типы данных языка программирования JavaScript

Значения, которые мы назначаем переменным, относятся к одному из нескольких различных типов данных.

  • Неопределенный тип данных. Простейший из них, скорее всего, «неопределенный» (undened). Если программист определит переменную, присваивая ей имя, но не значение, она будет содержать значение «undefined».
var foo;alert(foo); // Открывает диалоговое окно, содержащее "undened".

Скорее всего, прямо сейчас вы найдете немного вариантов применения этого типа данных, но с ним следует познакомиться, чтобы иметь возможность исправить ошибки, которые вы наверняка допустите на первых этапах работы с JavaScript. Если переменная имеет значение «undefined», хотя и не должна, стоит перепроверить, была ли она определена верно и не допущены ли опечатки в имени.

  • Тип данных NULL. Подобно описанному выше, присвоение переменной значения null (опять же, с учетом регистра) просто сообщает: «Определите эту переменную, но не присваивайте ей собственного значения».
var foo = null;alert(foo); // Откроется диалоговое окно, где будет выведено значение "null".
  • Числовой тип данных. Передадим переменной числовое значение.
var foo = 5;alert(foo); // Открывает диалоговое окно, содержащее "5".

Слово «foo» теперь означает то же самое, что и число пять, применительно к JavaScript. Поскольку этот язык «слабо типизированный», нам не нужно указывать сценарию воспринимать переменную foo как число пять.

Переменная ведет себя так же, как число, поэтому с ней можно производить те же действия, что и с любым другим числом, используя классические математические обозначения: +, -, *, и / для сложения, вычитания, умножения и деления, соответственно. В этом примере мы используем символ плюс (+), чтобы добавить переменную foo к самой себе (foo + foo).

var foo = 5;alert(foo + foo); // Появится уведомление "10".
  • Строковый тип данных. Еще один тип данных, который может содержать переменная — это строка, по сути он представляет собой строку текста. Заключение символов в кавычки (двойные или одинарные) указывает, что это строка, например:
var foo = "ve";alert( foo ); // Появится уведомление "ve".

Переменная foo теперь интерпретируется точно так, как и слово «five». Это относится к любой комбинации буквенных или числовых символов. Если значение поместить в кавычки, оно будет рассматриваться как текстовая строка. Если заключить число пять (5) в кавычки и присвоить его переменной, она будет вести себя не как число, а как текстовая строка, содержащая символ «5».

Ранее мы видели, что символ плюс (+) используется для сложения чисел. Когда символ плюс используется со строками, он склеивает их вместе (происходит так называемая конкатенация) в одну длинную строку, как показано в этом примере.

var foo = "bye"alert (foo + foo); // Появится уведомление "byebye"

Обратите внимание, какое уведомление возвращается в следующем примере, когда мы определяем значение 5 в кавычках, передавая его как строку, а не число.

var foo = "5";alert( foo + foo ); // Появится уведомление "55"

Если мы объединим строки и числа, JavaScript решит, что число также следует рассматривать как строку, а значит, произвести математические вычисления будет невозможно.

var foo = "ve";
var bar = 5;alert( foo + bar ); // Появится уведомление "ve5"
  • Логический тип данных. Переменной можно передавать значения «true» и «false». Это логическое или булево значение, которое является стержнем всей логики программирования. Логические значения используют ключевые слова true и false, интегрированные в язык JavaScript, поэтому кавычки не нужны.
var foo = true; // Переменная "foo" теперь истинна.

Если заключить указанное выше значение в кавычки, мы сохраним для нашей переменной слово «true», а не собственное значение true (противоположность «false»). В некотором смысле, в языке JavaScript самые разнообразные значения могут быть интерпретированы как «true» или «false». Значения null, undened, 0 и пустая строка («») по своей сути ложные, а все остальные значения по сути истинные. Эти значения, хотя и не идентичные логическим понятиям «истина» и «ложь», обычно называют «истинными» и «ложными».