Переменные - это именованные контейнеры данных (например, чисел, текста или объектов). Каждая переменная имеет свое уникальное имя. Существует несколько неписаных правил определения переменным имен.
Имена переменных могут содержать все буквы алфавита, как строчные, так и прописные, а также цифры (0-9) и символ подчеркивания.
Имя переменной должно начинаться с буквы или символа подчеркивания.
В имени переменных различаются регистры букв. Например, переменные totalnum, Totalnum и TotalNum в JavaScript различаются и могут принимать разные значения.
Не существует официального ограничения на длину имени переменной, но оно должно располагаться в одной строке кода программы. (Будьте готовы к многократному введению в программе одного и того же длинного имени.)
Следуя приведенным выше правилам, можно для примера привести правильные имена переменных.
total_number_of_points
LastInvoiceNumber
temp1
a
_var24
При определении имени переменной выбирайте либо логическое, описательное название, либо сокращенное, символическое. Не бойтесь использовать длинные описательные имена переменных. Если, конечно, вы вундеркинд и даже через несколько лет сможете вспомнить, что означают имена переменных a, b, x, x1, то можете обойтись и символическими названиями.
Глобальные и локальные переменные
Некоторые языки программирования (например PASCAL) требуют объявления в начале программы всех используемых в ней переменных. В JavaScript используется ключевое слово var для определения области объявления переменных. Во многих случаях переменные просто не объявляются. Объявление переменной проводится только тогда, если ей присваивается определенное значение.
Чтобы понять, в каких случаях необходимо объявлять переменные, вам нужно определить область действия переменной. Область действия переменной - это часть сценария, в которой используется переменная. Существует два типа переменных.
Глобальные переменные. Используются во всем сценарии (и других сценариях одного и того же документа HTML). Они могут использоваться и как аргументы разных функций.
Локальные переменные. Используются только как аргументы одной функции. Они применяются только в той функции, в которой были созданы.
Чтобы создать глобальную переменную, объявите ее в главном сценарии, а не в функции. В приведенном ниже примере для объявления переменной используется ключевое слово var:
var students=25;
Этот оператор объявляет переменную students и определяет ей значение 25. Если этот оператор использовать вне функции, то будет создана глобальная переменная, если же внутри - то локальная. В нашем примере ключевое слово var вводить не обязательно. Следующий оператор равносилен предыдущему:
students=25;
Если вы не хотите вводить команду var, удостоверьтесь, что это точно можно делать. Хорошей привычкой считается вводить команду var всегда. Таким образом вы сделаете свой сценарий простым в понимании и не вызовите дополнительных ошибок.
Локальные переменные используются только в одной функции. Все объявленные переменные (или используемые в первый раз) в функции считаются локальными. Например, все параметры функции - это локальные переменные.
Будьте внимательны и обязательно перед введением локальной переменной функции используйте команду var. Это дает указание JavaScript создать локальную переменную, даже если уже существует глобальная переменная с таким же именем.
Чтобы более наглядно объяснить используемые в JavaScript методы объявления переменных, рассмотрим листинг 8.1. Это измененный программный код функции Greet(), которая была рассмотрена в прошлом выпуске.
Листинг 8.1. Сценарий, в котором используются глобальные и локальные переменные
1: <HTML>
2: <HEAD>
3: <TITLE>Глобальные и локальные переменные</TITLE>
4: <SCRIPT LANGUAGE="JavaScript">
5: var name1="Вася"
6: var name2="Клавдия"
7: function Greet(who) {
8: alert("Внимание!" + who);
9: var name2="Юля";
10: }
11: </SCRIPT>
12: </HEAD>
13: <BODY>
14: <H1>Пример функции</H1>
15: <P>Сообщение выводится два раза</P>
16: <SCRIPT LANGUAGE="JavaScript">
17: Greet(name1)
18: Greet(name2)
19: </SCRIPT>
20: </BODY>
21: </HTML>
В сценарии листинга 8.1 используются следующие переменные:
- name1 и name2 - глобальные переменные, определенные в заголовке;
- who - локальная переменная, созданная в функции Greet().
Если вы внимательно рассмотрели сценарий, то уже заметили, что в функции Greet() тоже создается переменная name2. Поскольку при ее задании используется команда var, она не пересекается с глобальной переменной name2. (Если бы это происходило, то имя второго пользователя, которому выводится сообщение, изменилось бы.)
Примите к сведению, что глобальные переменные объявлены в заголовке программы документа HTML. На самом деле переменные позволено объявлять в любом месте программы, но удобнее всего это делать в заголовке, поскольку он выполняется первым. Если использовать переменную перед ее объявлением (или определением ей значения), то ей будет определено нулевое значение.
Я думаю, что вы уже поняли разницу между глобальными и локальными переменными. Если вы все еще не уверены - всегда используйте при объявлении переменной команду var, тогда вы избежите ошибок.
Определение значений переменным
Для определения (присваивания) значения переменной используется символ равенства (=). Например, в следующем выражении переменной lines присваивается значение 50.
lines = 50;
Справа от знака равенства можно вводить самые произвольные выражения, содержащие и переменные. Для добавления к переменной единицы используется следующий оператор:
lines = lines + 1;
Поскольку положительное и отрицательное приращение используется в программировании очень часто, JavaScript содержит два специальных оператора, позволяющих выполнить эти операции. Первый - это оператор положительного приращения +=:
lines +=1;
Подобно ему вводится оператор отрицательного приращения:
lines -=1;
Если вы считаете, что это достаточно сложно, то можете воспользоваться и операторами инкремента и декремента (++ и --). Следующий оператор увеличивает значение переменной на единицу:
lines ++;
А этот оператор уменьшает значение переменной на единицу:
lines --;
Операторы ++ и -- можно использовать и перед именем переменной. Например ++lines. Следует заметить, что эти два выражения не идентичны. Разница заключается в моменте выполнения операции приращения.
Если оператор стоит после имени переменной, то приращение осуществляется после вычисления текущего выражения.
Если оператор стоит перед именем переменной, то приращение осуществляется до вычисления текущего выражения.
Эта разница и определяет использование операторов декремента и инкремента в одном и том же выражении. В качестве примера попытаемся присвоить переменной lines значение 40. Следующие два выражения отображают два разных результата:
lines = 40;
alert(lines++);
alert(++lines);
В первом случае отображается значение 40, а затем значение переменной lines увеличивается на единицу. Во втором же случае сначала значение переменной увеличивается на единицу и поэтому на экране отображается значение 41.
Эти операторы введены только для удобства введения программного кода. Если вы предпочитаете работать с понятными выражениями, то поступайте просто - используйте арифметические операторы (+1 и -1) и добьетесь того же результата.
В следующем выпуске мы рассмотрим типы данных, используемые в JavaScript.
Как всего за 8.5 месяцев построить систему, которая долгие годы будет приносить Вам прибыль. Получите четкий пошаговый инструктаж в свое 100% пользование АБСОЛЮТНО БЕСПЛАТНО, пока этого не сделали другие!