Предыдущие слова
JavaScript - это простой язык и сложный язык. Это просто, потому что это требуется только минутку, чтобы научиться использовать его; Это сложно, потому что требуются годы, чтобы по -настоящему освоить его. Фактически, фронт-инженеры в значительной степени относятся к инженерам JavaScript. Легко начать с фронтального и трудного для освоения. Это относится к фронтальному и, что более важно, JavaScript. Эта статья является первой статьей в базовой грамматике JavaScript - лексической структуры
Отношения с Java
Есть такая поговорка о JavaScript: отношения между Java и JavaScript - это связь между Lei Feng и Lei Feng Tower. Так что это имеет значение?
Первоначальным названием JavaScript было Livescript. Причина, по которой я выбрал JavaScript в качестве официального названия, была, вероятно, заставила его звучать как известная семья. В дополнение к синтаксису, который выглядит похоже на Java, JavaScript и Java являются двумя совершенно разными языками программирования.
Языки программирования разделены на две категории: интерпретируются и скомпилированы. Такие языки, как Java или C ++, требуют компилятора. Компилятор-это программа, которая может перевести исходный код, написанный на языках высокого уровня, таких как Java, в файлы, которые выполняются непосредственно на компьютере. Интерпретируемые языки программирования не требуют компиляторов - им требуются только переводчики, а интерпретатор JavaScript в браузере будет читать непосредственно в исходный код и выполнять его.
Java теоретически может быть развернута практически в любой среде, но JavaScript, как правило, применяется только к веб -браузерам. Более того, на языке JavaScript функции являются независимыми типами данных, использующими цепи наследования на основе объектов прототипа, а синтаксис JavaScript намного свободнее, чем Java.
По сути, первоначальное значение названия JavaScript «очень похоже на язык сценариев Java»
определение
JavaScript-это динамичный, слабый тип, интерпретируемый язык программирования, который очень подходит для объектно-ориентированных и функциональных стилей программирования. Синтаксис JavaScript поступает от Java, его первоклассная функция поступает из схемы, а его наследование на основе прототипа исходит от себя
JavaScript используется для улучшения динамического эффекта страницы и реализации в режиме реального времени и динамического взаимодействия между страницей и пользователем.
JavaScript состоит из трех частей: Ecmascript, Dom и Bom
[1] Ecmascript определяется ECMA-262 и предоставляет основные языковые функции (ECMA-это Европейская ассоциация производителей компьютеров)
[2] DOM (модель объекта документа) Объект документа, предоставление методов и интерфейсов для доступа и манипулирования контентом веб -страницы
[3] модель объекта Bom (Bom (Browser Object Model), предоставляя методы и интерфейсы для взаимодействия с браузером
Чувствительность случая
Что касается языкового JavaScript, независимо от того, сколько он подчеркивается, это чувствительность случая. Ключевые слова, переменные, имена функций и все идентификаторы в JavaScript должны быть последовательными в верхнем и нижнем случае.
// 'Online', 'Online', 'Online', 'Online' - это четыре различных имена переменных
[Примечание] HTML не чувствителен к корпусу
Зарезервированное слово
Как и любой другой язык программирования, JavaScript сохраняет некоторые идентификаторы для собственного использования. Эти зарезервированные слова не могут быть использованы в качестве обычных идентификаторов. Из -за вводящего в заблуждение многих справочников кажется, что зарезервированные слова и ключевые слова разделены, но на самом деле это не так. Ключевые слова - это лишь часть зарезервированных слов. Зарезервированные слова включают ключевые слова, будущие зарезервированные слова, пустые литералы и логические литералы
ReservedWord ::
Ключевое слово
FuturerServedWord
Нулевая
Логический
Ключевые слова
Перерыв в экземпляре типа
Случай еще новый var
Поймать наконец вернуть пустоту
Продолжить для переключения, пока
Debuggger функционирует это с
по умолчанию, если брось удалить
в попытке
Будущие зарезервированные слова
Следующие слова используются в качестве предложенных ключевых слов расширения и поэтому зарезервированы так, чтобы эти расширения могли быть приняты в будущем.
Класс Enum расширяет супер
Const Export Import
Ecmascript3 версия
Выше приведены зарезервированные слова для Ecmascript5, но зарезервированные слова в версии Ecmascript3 разные. Если вы хотите, чтобы код работал на интерпретаторе на основе реализации ECMascript3, вам следует избегать использования следующих зарезервированных слов в качестве идентификаторов.
Абстрактный логический байтовый класс
Goto реализует импорт Int Interfacelong Native Package Private Protected
Общественный короткий статический супер синхронизированный бросок переходного летучего
Предопределенные переменные и функции
Кроме того, JavaScript предопределил многие глобальные переменные и функции, и должен избегать использования их имен в качестве имен идентификаторов
Аргументы массив логическая дата decodeuri decodeuricomponent encodeuriencodeuricomponent error eval Evalerr Функция Infinity ISfinite Isfinite
isnan json math nan number parsefloat parseint rayerror
Referengerror regexp строка
Комментарий
Не все утверждения должны быть интерпретированы и выполнены интерпретатором JavaScript. Иногда вам нужно написать некоторую информацию в скрипте для вашей собственной ссылки или напоминания, и надеяться, что интерпретатор JavaScript может напрямую игнорировать эту информацию. Этот тип информации является комментариями
Комментарии могут эффективно помочь понять поток кода, и они играют роль жизни в коде, что может помочь нам выяснить, что делают сценарии.
[Примечание] Комментарии должны точно описать код. Бесполезные комментарии хуже, чем нет комментариев
Есть много способов вставить комментарии в сценарии JavaScript, включая однострочные комментарии, многострочные комментарии и комментарии в стиле HTML
【1】 Комментарии на одну строку начинаются с двух ударов
// Комментарий с одной строкой
【2】 Многострочные комментарии также называют комментариями на уровне блоков, начиная с чернила и звездочки/*, заканчивая звездочкой и чертой*/
/*
Это многострочный комментарий
*/
[Примечание] Эти символы в комментариях на уровне блоков/ **/ могут также появляться в литералах регулярного выражения, поэтому комментарии уровня блока небезопасны для комментариев кодовых блоков.
/*
var rm_a = /a*/.match(s);
*/
【3】 Комментарии в стиле HTML применимы только к однострочным комментариям. На самом деле, интерпретатор javaScript обрабатывает <!- и //
<!- это комментарий в JavaScript
Если в документах HTML, вам также нужно закончить комментарий ->
<!-это комментарий в HTML->
Но JavaScript не требует этого, он будет относиться -> как часть контента комментария
[Примечание] HTML допускает, как такие комментарии выше, чтобы охватить несколько строк, но каждая строка таких комментариев должна быть добавлена в качестве флага в начале комментария «<!-»
<!- Я комментарий 1
<!- я комментарий 2
<!- я комментарий 3
Поскольку интерпретатор JavaScript отличается от HTML при работе с комментариями в этом стиле, лучше не использовать его в сценариях JavaScript, чтобы избежать путаницы.
Комментарии в стиле HTML
Пробел
Заготовки обычно бессмысленно, иногда они должны быть разделены, используя его, иначе они будут объединены в символ.
var that = это;
Заготовки между VAR и которые не могут быть удалены, но другие пробелы могут быть удалены
JavaScript игнорирует пробелы между токенами в программе. В большинстве случаев JavaScript также игнорирует разрывы строк. Поскольку пробелы и разрывы линий могут использоваться по желанию в коде, аккуратное и последовательное отступление можно использовать для формирования единого стиля кодирования, тем самым улучшая читаемость кода
// Улучшение читаемости кода, добавив символы пробелов для (var i = 1; i <10; i ++) {//}JavaScript распознает следующее как пробелы.
/u0009 Horizontal Tab символ <Tab>
/u000b Вертикальный символ <vt>
/u000c страница изменение <ff>
/u0020 космический символ <pp>
/u00a0 не вмешательство космического символа <nbsp>
/Ufeff Parmance Mark Mark
JavaScript распознает следующие символы как линейный терминатор Lineterminator
/u000a newline символ <lf>
/u000d returage return atervice <cr>
/U2028 Line DeLimiter <ls>
/u2029 абзац сплиттер <ps>
Необязательный полуколон
JavaScript использует полуколоны; разделяет утверждения, которые очень важны для улучшения читаемости и аккуратности кода. Но JavaScript не заполняет полуколоны во всех новичках. Только когда код не может быть проанализирован правильно без полуколона, JavaScript заполнит полуколоны.
вар а
а
=
3
console.log (a)
JavaScript анализирует это как:
var a;
a = 3;
console.log (a);
Это правило разделения утверждений может привести к некоторым неожиданным ситуациям
var y = x + f
(A+B) .toString
JavaScript анализирует это как:
var y = x + f (a + b) .toString
Следовательно, чтобы позволить проанализированию вышеупомянутого кода в два разных утверждения, явный полуколон в конце линии должен быть заполнен вручную в конце линии
Два исключения
Если текущее утверждение и оператор следующей строки не могут быть объединены и проанализированы, JavaScript заполнит полуколон после первой строки, что является общим правилом, но есть два исключения
[1] Первое исключение - в сценарии, включающем возврат, перерыв, продолжение, выбросить заявления. Если за этими четырьмя ключевыми словами следуют разрыв линии, JavaScript заполнит полуколон на разрыве строки
Возвращаться
истинный;
JavaScript анализирует это как:
вернуть; правда;
И первоначальное значение кода:
вернуть истину;
[2] Второе исключение состоит в том, что когда операторы ++ и - если он используется в качестве выражения суффикса, это должна быть та же линия, что и выражение. В противном случае, конец линии заполнит полуколон, а ++ или - будет использоваться в качестве оператора префикса для следующей строки кода и проанализирован с ним
х
++
у
JavaScript анализирует это как:
x; ++ y;
И первоначальное значение кода:
x ++; y;
Хотя полуколоны не нужны, лучше не опустить его, поскольку добавление полуколонов может избежать многих ошибок, и отсутствие полуколонов в конце строки кода приведет к ошибкам сжатия. В некоторых случаях добавление полуколона также улучшит производительность кода, потому что анализатор больше не должен будет тратить время на угадывание, куда вставить полуколон.