Использование переменных

Выбор имени переменной

Переменные - это именованные контейнеры данных (например, чисел, текста или объектов). Каждая переменная имеет свое уникальное имя. Существует несколько неписаных правил определения переменным имен.

  • Имена переменных могут содержать все буквы алфавита, как строчные, так и прописные, а также цифры (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.

nextn.bmp (246 bytes)

home.gif (161 bytes)

next.gif (900 bytes)

Сайт управляется системой uCoz