Лексическая структура языка программирования - это основной набор правил, используемых для описания того, как вы пишете этот язык. В качестве основы синтаксиса указывается, как выглядят имена переменных, как писать комментарии и как различать утверждения. В этом разделе используется очень короткое пространство, чтобы ввести лексическую структуру JavaScript.
1. Набор символов
Программа JavaScript написана в наборах символов Unicode, суперсете ASCII и Latin-1 и поддерживает почти все языки в регионе. Ecmascript3 требует, чтобы реализация JavaScript поддерживала Unicode2, 1 и последующие версии, в то время как Ecmascript5 требует, чтобы реализация JavaScript должна была поддерживать Unicode3 и последующие версии.
я. с учетом регистра
JavaScript-это чувствительный к случаям язык, то есть ключевые слова, переменные, имена функций и все символы выражения должны быть последовательно обозначены. Например, ключевое слово, в то время как должно быть написано как пока, и не может быть записано как пока или пока.
Но следует отметить, что HTML не чувствителен к случаям (хотя xhtml отличается), и его легко запутать, потому что он тесно связан с клиентом JavaScript. Например, в событии обработки, установленном HTML, атрибут OnClick может быть написан как OnClick, но в JavaScript он может быть написан как OnClick.
II пространства, разрывы линий и контроллеры формата
JavaScript игнорирует пробелы между токенами в программе. В большинстве случаев JavaScript также игнорирует разрывы строк. Поскольку пространства и разрывы линий могут использоваться по желанию в коде, аккуратное и последовательное отступление можно использовать одновременно для формирования единого стиля кодирования, улучшая читабельность кода.
JavaScript в дополнение к идентификации космических символов (/U0020). JavaScript также отображает следующие символы, которые указывают пространства: Horizontal Tab символ (/U0009), вертикальный символ вкладки (/U000B), символ обновления страницы (/U000C), неинтерротный персонаж пробелов (/U00A0), тег Endian (/UFEFF) и символы во всех категориях ZS в Unicode. JavaScript распознает следующие символы в качестве конечных символов: разрыв строки (/u000a), символ возврата каретки (/U000D), сепаратор линии (/U2028) и сегментный сегмент (/U2029). Символ возврата кареты и символ разрыва линии проанализированы в одну линию, окончательный символ.
Unicode Format управляет символами (CF Class), такие как «Знаки записи справа налево» (/U200F) и «Знаки записи слева направо» (/U200E), управляет визуальным отображением текста. Это важно для правильного отображения некоторых неанглийских текстов, которые могут использоваться в комментариях JavaScript, прямых количествах строк и регулярных выражениях, но не могут использоваться в идентификаторах (например, имена переменных), но существует исключение из разъема нулевой ширины (/U200D) и неконтролируемых видов Zero (/UFEFF), которые могут появляться в идентификаторах, но не могут быть использованы атои. Выше также упоминается, что символ управления форматом формата байта (/UFEFF) рассматривается как пространство.
III.unicode Escape
В некотором компьютерном оборудовании и программном обеспечении полный набор символов Unicode не может быть отображен или введен. Чтобы поддержать программистов, используя старую технологию, JavaScript определяет специальную последовательность, которая использует 6 символов ASCII для представления любого 16-битного внутреннего кода Unicode. Эти последовательности эвакуации Unicode префиксируются с помощью /u, за которыми следуют шестнадцатеричные крысы (обозначены числами и прописными и нижними буквами AF). Это письмо Unicode Escape можно использовать в прямых количествах javaScript String, регулярных выражениях и идентификаторах (кроме ключевых слов). Например, Escape of Manicode от символа é написан как /U00E9, а следующие две строки JavaScript точно одинаковы.
"Кафе" === "CAF/U00E9" => TRUE
Unicode Escape Writing может появиться в комментариях, но, поскольку JavaScript игнорирует комментарии, они просто рассматриваются как символы ASCII в контексте и не будут сопровождаться символами Unicode.
IIII Стандартизация
Unicode позволяет кодировать один и тот же символ, используя несколько методов. Например, символ, который может использовать символ Unicode /U00E9, или обычный символ ASCII может использоваться для следования тональному символу /U0301. В текстовом редакторе результаты, отображаемые этими двумя кодировками, точно одинаковы, но их двоичные представления кодирования различны и не равны на компьютерах. Стандарт Unicode определяет предпочтительный формат кода для символов индекса и предоставляет стандартизированный метод обработки для преобразования текста в стандартный формат, подходящий для сравнения, и больше не будет стандартизировать другие представления, строки или регулярные выражения.
2. Комментарии
JavaScript поддерживает два метода комментариев. Текст после «//» в конце строки будет игнорироваться JavaScript в качестве комментариев.
Кроме того, текст между / * и * / также используется в качестве комментариев. Этот вид комментариев может быть написан в разных линиях, но вложенных комментариев нет.
// Комментарий с одной строкой
/*
*
*
*
*/
3. Прямое количество
Так называемое прямое количество (буквальное) является значением данных, непосредственно используемым в программе. Прямое количество указано ниже.
Кода -копия выглядит следующим образом:
12 // Числа
1.2 // Десятичный
"Hllo World" // Строка текст
'Привет' // еще одна строка
Верно // логический
ложный // логический
/javascript /gi // Регулярное выражение прямое количество (используется в качестве сопоставления шаблонов)
null // пусто
Глава 3 подробно объяснит прямое количество чисел и строк. Прямое количество регулярных выражений будет объяснено в главе 10. Больше выражений благосостояния может быть написано как массивы или объекты напрямую.
{x: 1, y: 2} // объект
[1,2,3,4,5] // массив
4. Идентификаторы и зарезервированные слова
Идентификатор - это имя. В JavaScript идентификаторы используются для названия переменных и функций или для обозначения позиции прыжка в определенных операторах цикла в коде JavaScript. Идентификатор JavaScript должен быть в буквах. Подчеркивание, или доллар начинается. Последующими символами могут быть буквы. число. Подставка или долларовый знак (цифры не могут появляться в качестве инициалов, JavaScript может легко отличить идентификаторы от чисел), а ниже приведены законные идентификаторы
Кода -копия выглядит следующим образом:
my_variable_name
B13
_дурачок
$ str
Для переносимости и простоты письма мы обычно используем только буквы и цифры ASCII для написания идентификаторов. Затем следует отметить, что JavaScript позволяет буквам и цифрам во всем наборе символов Unicode в идентификаторе (от технологии до ECMASCRIPT позволяет классу MN, классу MC и P класса символов Unicode появиться после первого символа идентификатора). Следовательно, программисты могут использовать неанглийские языки или математические символы для написания идентификаторов.
Кода -копия выглядит следующим образом:
var sá = true;
var π = 3.14;
JavaScript вынимает некоторые идентификаторы в качестве ключевых слов, поэтому имена больше не могут использовать эти ключевые слова в качестве идентификаторов в программе.
Кода -копия выглядит следующим образом:
перерыв
случай
ловить
Продолжить продолжение
по умолчанию
удалить удалить
делать
еще
Окончательно
для
функция
если
в
экземпляр
новый
Возвращаться
выключатель
Этот
бросать
пытаться
тип
вар
пустота
Пока
с
JavaScript зарезервированные слова
класс const enum export
Экспорт расширяет импорт супер
Кроме того, эти ключевые слова являются законными в обычном JavaScript, но являются зарезервированными словами в строгом режиме
Реализации пусть частный пакет интерфейса доходности
Защищенный статический
В том же строгом режиме следующие идентификаторы строго ограничены, но имена переменных, имена параметров и имена функций не могут быть использованы.
Аргументы eval
Конкретная реализация JavaScript может определять уникальные глобальные переменные и функции. Каждый конкретный сервер JavaScript Clange Environment (Client) и т. Д. Имеет свой собственный глобальный список атрибутов, который необходимо помнить. (Объект Window, чтобы понять список глобальных переменных и функций, определенных в клиентском JavaScript)
5. Необязательный полуколон
Как и многие языки программирования, JavaScript использует полуколоны (;) для отдельных утверждений. Это очень важно для улучшения читаемости и аккуратности кода. Конец заявления без сепаратора становится началом следующего утверждения, и наоборот.
В JavaScript каждое утверждение занимает одну строку, и полуколон между операторами обычно может быть опущен (полуколон до того, как скобки «}» в конце программы также могут быть опущены). Многие программисты JavaScript (включая примеры кода этой книги) используют полуколоны, чтобы четко отметить конец заявления, даже когда полуколоны полностью не нужны. Другой стиль состоит в том, чтобы пропустить полуколоны, когда их можно пропустить, и использовать только полуколоны только тогда, когда их нужно использовать. Независимо от стиля программирования, есть несколько деталей, на которые обратите внимание о JavaScript.
Следующий код, первая полуколон может быть опущена
a = 3;
b = 4;
Однако, если написано в следующем формате, первый полуколон не может быть опущен.
a = 3; b = 4;
Следует отметить, что JavaScript не заполняет полуколоны во всех новичках: JavaScript заполняет полуколоны только тогда, когда код не проанализирован нормально без полуколон. Другими словами (аналогично двум исключениям в следующем коде), если текущее утверждение и последующие не пространственные символы не могут быть проанализированы в целом, JavaScript заполнит полуколоны в конце текущего утверждения. См. Следующий код
вар а
а
=
3
console.log (a)
JavaScript анализирует это как
var a; a = 3; console.log (a);
JavaScript добавляет полуколон к первой строке. Без полуколона JavaScript не может разобрать VAR AA в коде. Второй А может использоваться в качестве утверждения «a;», но JavaScript не заполняет полуколон в конце второй строки. Потому что его можно проанализировать с содержанием третьей строки к «a = 3;» Полем
Разделяющие правила некоторых утверждений приведут к некоторым неожиданным ситуациям. Этот код разрыва разделен на две строки, которые, по -видимому, являются двумя независимыми утверждениями.
var y = x + f
(a+b) .toString ()
Кроншеты на второй строке образуют вызов функции с F на первой строке. JavaScript будет рассматривать этот код как
var y = x+f (a+b) .toString ();
Очевидно, что первоначальное намерение кода не такого. Чтобы разрешить анализ вышеупомянутого кода в два разных утверждения, вы должны вручную заполнить полуколон поведения.
Вообще говоря, если утверждение начинается с ([ / + -, он, скорее всего, будет проанализирован с предыдущим утверждением. Заявления, начинающиеся с / + - не очень распространены, но утверждения, начинающиеся с ([[очень распространены. По крайней мере, в некоторых стилях кодирования JavaScript. Некоторые программисты любят консервативно добавлять полуколон к утверждению, что, если предыдущий утверждение, все еще будет, все еще будет выполнено, и все еще будет DeleTered, так что в SemiColon является то, что в SemiColon является то, что в SemiColon является то, что в SemiColon является то, что в SemiColon является то, что в SemiColon является то, что в статине будет выполнено.
Если текущее утверждение и следующая оператор строки не могут быть объединены и разыгрываются. JavaScript заполняет полуколон после первой строки, который является общим правилом, но имеет два столбца снаружи. Первое исключение включает в себя returnm, Birak, он продолжит заявление, если эти три ключевых слова сопровождаются разрывом строки. JavaScript заполнит полуколоны на Newline. Например
Например
Возвращаться
истинный;
И javaScript проанализировался в
вернуть; Туре;
И первоначальное значение кода
вернуть правду;
Другими словами, не могут быть разрывы строк между последующими выражениями с возвращением, разрывом и контентом. Если добавлен перерыв в строке, программа может сообщить только об ошибке в особых обстоятельствах. Более того, отладка программы неудобна.
Второй пример - когда речь идет о операторе ++ - эти символы выражения могут представлять префикс и суффикс выражения идентификатора. Если за ним следует выражение, если оно используется в качестве суффиксного выражения. Это и выражение следует рассматривать как одна линия. В противном случае полуколон будет заполнен в конце линии.
Кода -копия выглядит следующим образом:
х
++
да
Приведенный выше код проанализируется как
Кода -копия выглядит следующим образом:
x;
++ y