Глава 3.2. Основные понятия3.2.1. Структура программ на языке JavaScriptКак и во многих других языках программирования, программа (сценарий) на языке JavaScript это текст, состоящий из операторов, блоков, т. е. взаимосвязанных наборов операторов, и комментариев. Операторы могут содержать переменные, константы и выражения. Следующий пример начинается с определения функции, которое состоит из блока, содержащего два оператора. За определением следуют два оператора, не образующих блока. function convert(inches) { cm = inches * 2.54; // Эти два оператора заключены в блок. meters = inches / 39.37; } convert(inches); // Эти два оператора не образуют блока. km = meters / 1000; Как мы видим из этого примера, каждый оператор JavaScript начинается с новой строки (что не обязательно, но рекомендуется) и заканчивается точкой с запятой (что также не обязательно, если оператор является последним в строке). Блок это набор операторов, заключенный в фигурные скобки {}. Строка сценария, содержащая только точку с запятой, считается пустым оператором, т. е. оператором, не выполняющим никакого действия. Тем не менее, в некоторых случаях использование пустого оператора удобно, например: while (i--) // Цикл состоит в уменьшении i до нуля, ; // поэтому его телом является пустой оператор. Для удобства чтения программы и форматирования ее текста могут использоваться символы пробела. Эти символы игнорируются всюду, кроме строковых констант и регулярных выражений, в которых они являются значимыми. Символами пробела в JavaScript считаются следующие символы Unicode:
Символы разрыва строки также используются для форматирования текста, но они могут иметь значение и с точки зрения синтаксиса программы. Формальные правила использования разрывов строк в JavaScript довольно сложны, но на практике достаточно помнить только то, что обычно рекомендуется начинать новый оператор с новой строки. Символами разрыва строки в JavaScript считаются следующие символы Unicode:
3.2.2. КомментарииКомментарии в JavaScript могут быть однострочными и многострочными. Однострочные комментарии начинаются с символов // и продолжаются до конца текущей строки, как показано в приведенном выше примере. Многострочные комментарии заключаются в маркеры /* и */, например: /* Это пример комментария, содержащего несколько строк. */ Многострочные комментарии не могут быть вложены друг в друга. Текст комментария полностью игнорируется при выполнении программы. 3.2.3. Зарезервированные словаСледующие имена являются ключевыми словами языка JavaScript и не могут употребляться в качестве идентификаторов:
Следующие имена являются ключевыми словами в предлагаемых расширениях языка JavaScript и также не должны употребляться в качестве идентификаторов в целях совместимости с будущими версиями языка:
3.2.4. ИдентификаторыИдентификаторы используются в JavaScript в качестве имен переменных. Они могут начинаться с латинской буквы, символа "$" (знак доллара) или символа "_" (подчеркивание) и должны состоять из латинских букв, цифр и символов "$" и "_". Знак доллара рекомендуется использовать только в идентификаторах программ, которые автоматически генерируются другими программами. Идентификаторы не могут совпадать с зарезервированными словами. Два идентификатора считаются равными, если они текстуально совпадают; это означает, что JavaScript проводит различие между строчными и прописными буквами. Примеры синтаксически правильных идентификаторов:
3.2.5. Переменные3.2.5.1. Декларация переменныхПеременные используются в качестве символических имен, принимающих различные значения. Имена переменных задаются идентификаторами. Переменная создается в момент ее декларации. JavaScript позволяет декларировать переменную двумя способами:
Если декларация переменной не содержит присваивания ей значения, то ее значением считается undefined. Мы можем проверять, определено ли значение переменной, и предпринимать соответствующие действия. Пример: var text; if (text == undefined) document.write("Текст не задан"); else document.write("Текст:" + text); В этом примере значение переменной text не определено, поэтому будет выполнен первый оператор document.write. В самом общем виде декларация переменных имеет вид: var идентификатор[=инициализатор]?[,идентификатор[=инициализатор]?]? Здесь инициализатор это любое выражение, значение которого присваивается переменной при ее создании. Пример: var a = 0, b, c = "текст", x, y = false; 3.2.5.2. Область действия переменныхОбласть действия переменной определяется положением ее декларации в тексте программы. Существуют три типа исполняемого кода JavaScript, называемых контекстом исполнения:
Иными словами, любая переменная, декларированная вне тела всех функций, является глобальной и доступна всюду в тексте данной программы. Переменная, декларированная в теле функции, является локальной и доступна только внутри тела этой функции. Об особенностях eval-контекста см. описание метода eval. Для декларации глобальных переменных ключевое слово var не обязательно. Однако, оно обязательно при декларации локальных переменных. 3.2.6. КонстантыКонстанты используются для задания постоянных значений. В JavaScript имеется несколько типов констант, соответствующих его встроенным типам, а именно:
Особую группу констант составляют регулярные выражения, которые описаны в гл. 3.5. 3.2.6.1. Строковые константыСтроковая константа это нуль или более символов Unicode, заключенных в одинарные или двойные кавычки. Обычно строковые константы заключают в двойные кавычки, а одинарные кавычки используются только для тех строк, которые сами содержат двойную кавычку. Примеры: "Это строковая константа." '"Эй, вы, там наверху!", - пела Алла Пугачева.' Строка, не содержащая символов ('' или ""), называется пустой строкой. Символы Unicode, входящие в состав строки, могут задаваться своим числовым кодом с помощью escape-последовательностей вида \uXXXX, где XXXX шестнадцатеричный код символа Unicode. Символы с кодами, меньше 256, могут задаваться escape-последовательностями вида \xXX, где XX шестнадцатеричный код символа Unicode. Кроме того, несколько символов могут обозначаться специальными escape-последовательностями:
Пример строковых констант, содержащих специальные символы: "Графический образ хранится в файле C:\\webstuff\\mypage\\gifs\\garden.gif." "Эта строка заканчивается разрывом строки.\r\n" Примечание. Internet Explorer распознает символ "\v" только в регулярных выражениях. 3.2.6.2. Числовые константыЧисловые константы могут быть как целыми, так и плавающими. JavaScript не проводит между ними различия и, в действительности, хранит все числа как плавающие. Целые числа могут быть положительными, отрицательными и нулем. По системе счисления они могут быть десятичными, восьмеричными и шестнадцатеричными:
Плавающие числа отличаются наличием или десятичной точки, или буквы e в любом регистре, задающей степень десяти в научной нотации, или того и другого. Примеры плавающих чисел:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HIVE: All information for read only. Please respect copyright! |
Advertising: |
|
|