Polytech-soft.com

ПК журнал
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синтаксис языка javascript

Синтаксис JavaScript

С 1995 года JavaScript прошел длинный путь от скромного компонента браузера Netscape до современных высокопроизводительных JIT-интерпретаторов. Казалось бы, всего лет пять назад разработчики были ошеломлены появлением Ajax, а уже сейчас сложные JavaScript-приложения достигли объемов в сотни и тысячи строк кода.

В прошлом году появилось новое поколение JavaScript-приложений, ничем не отличающихся от приложений рабочего стола, — невероятный прогресс веб-технологий. Ушли в прошлое медленно выполняемые запросы страниц при каждом взаимодействии пользователя с приложением. Движки JavaScript стали настолько мощными, что появилась возможность сохранять состояние на стороне клиента, что существенно ускорило реакцию приложения и улучшило качество его работы.

Если вы знаете другие языки программирования, вам может оказаться полезна информация, что JavaScript является высокоуровневым, динамическим, нетипизированным и интерпретируемым языком программирования, который хорошо подходит для программирования в объектно-ориентированном и функциональном стилях. Свой синтаксис JavaScript унаследовал из языка Java, свои первоклассные функции – из языка Scheme, а механизм наследования на основе прототипов – из языка Self. Но вам не требуется знать все эти языки или быть знакомыми с их терминологией для изучения JavaScript.

В этой статье мы рассмотрим базовые лексические структуры языка.

Символы

При написании программ на JavaScript используется набор символов Юникода. Юникод является надмножеством кодировок ASCII и Latin-1 и поддерживает практически все письменные языки, имеющиеся на планете. Стандарт ECMAScript 3 требует, чтобы реализации JavaScript обеспечивали поддержку стандарта Юникода версии 2.1 или выше, а стандарт ECMAScript 5 требует, чтобы реализации обеспечивали поддержку стандарта Юникода версии 3 или выше.

Чувствительность к регистру

JavaScript – это язык, чувствительный к регистру символов. Это значит, что ключевые слова, имена переменных и функций и любые другие идентификаторы языка должны всегда содержать одинаковые наборы прописных и строчных букв.

Например, ключевое слово while должно набираться как «while», а не «While » или «WHILE». Аналогично myvar, Myvar, MyVar и MYVAR – это имена четырех разных переменных. Заметим, однако, что язык разметки HTML (в отличие от XHTML) не чувствителен к регистру. Так как HTML и клиентский JavaScript тесно связаны, это различие может привести к путанице. Многие JavaScript-объекты и их свойства имеют те же имена, что и теги и атрибуты языка HTML, которые они обозначают. Однако если в HTML эти теги и атрибуты могут набираться в любом регистре, то в JavaScript они обычно должны набираться строчными буквами.

Например, атрибут onclick обработчика события чаще всего задается в HTML как onClick, однако в JavaScript-коде (или в XHTML-документе) он должен быть обозначен как onclick.

Пробелы, переводы строк и символы управления форматом

JavaScript игнорирует пробелы, которые могут присутствовать между лексемами в программе. Кроме того, JavaScript также по большей части игнорирует символы перевода строки. Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида.

Помимо обычного символа пробела ( u0020 ) JavaScript дополнительно распознает как пробельные следующие символы: табуляция ( u0009 ), вертикальная табуляция ( u000B ), перевод формата ( u000C ), неразрывный пробел ( u00A0 ), маркер порядка следования байтов ( uFEFF ), а также все символы Юникода, относящиеся к категории Zs.

Следующие символы распознаются интерпретаторами JavaScript как символы конца строки: перевод строки ( u000A ), возврат каретки ( u000D ), разделитель строк ( u2028 ) и разделитель абзацев ( u2029 ). Последовательность из символов возврата каретки и перевода строки интерпретируется как единственный символ завершения строки.

Символы Юникода, управляющие форматом (категория Cf), такие как RIGHT-TO-LEFT MARK ( u200F ) и LEFT-TO-RIGHT MARK ( u200E ), управляют визуальным представлением текста, в котором они присутствуют. Они имеют большое значение для корректного отображения текста на некоторых языках и являются допустимыми в комментариях JavaScript, строковых литералах и в литералах регулярных выражений, но не в идентификаторах (таких как имена переменных), определяемых в программах JavaScript. Исключение составляют ZERO W >u200D ) и ZERO W >u200C ), которые можно использовать в идентификаторах при условии, что они не являются первыми символами идентификаторов.

Читать еще:  Что такое java auto updater

Полную таблицу символов Unicode вы можете посмотреть на сайте Unicode Table.

Необязательные точки с запятой

Как и в других языках программирования, для отделения инструкций друг от друга в языке JavaScript используется точка с запятой (;). Использование точек с запятой имеет важное значение для ясного выражения намерений программиста: без этого разделителя по ошибке можно принять конец одной инструкции за начало следующей и наоборот.

Обычно в JavaScript точку с запятой между инструкциями можно не ставить, если они находятся в разных строках. (Точку с запятой можно также опустить в конце программы или если следующей лексемой в программе является закрывающая фигурная скобка >.) Многие программисты на JavaScript используют точки с запятой для явного обозначения концов инструкций, даже если в этом нет необходимости.

Взгляните на следующий фрагмент. Поскольку две инструкции находятся в разных строках, первую точку с запятой можно опустить:

Однако если эти инструкции записать, как показано ниже, первая точка с запятой становится обязательной:

Комментарии

JavaScript поддерживает два способа оформления комментариев. Любой текст между символами // и концом строки рассматривается как комментарий и игнорируется JavaScript. Любой текст между символами /* и */ также рассматривается как комментарий. Эти комментарии могут состоять из нескольких строк, но не могут быть вложенными. Следующие строки представляют собой корректные JavaScript-комментарии:

Идентификаторы и зарезервированные слова

Идентификатор — это просто имя. В JavaScript идентификаторы выступают в качестве имен переменных и функций, а также меток некоторых циклов. Идентификаторы в JavaScript должны начинаться с буквы, с символа подчеркивания (_) или знака доллара ($) . Далее могут следовать любые буквы, цифры, символы подчеркивания или знаки доллара. (Цифра не может быть первым символом, так как тогда интерпретатору трудно будет отличать идентификаторы от чисел.) Примеры допустимых идентификаторов:

Для совместимости и простоты редактирования для составления идентификаторов обычно используются только символы ASCII и цифры. Однако JavaScript допускает возможность использования в идентификаторах букв и цифр из полного набора символов Юникода. Это позволяет программистам давать переменным имена на своих родных языках и использовать в них математические символы:

JavaScript резервирует ряд идентификаторов, которые играют роль ключевых слов самого языка. Эти ключевые слова не могут служить идентификаторами в программах. JavaScript также резервирует некоторые ключевые слова, которые в настоящее время не являются частью языка, но которые могут войти в его состав в будущих версиях. В приведенной таблице перечислены все ключевые слова по категориям:

Зарезервированные ключевые слова JavaScript

КатегорияКлючевые слова
Базовые идентификаторыbreak delete function return typeof
case do if switch var
catch else in this void
continue false instanceof throw while
debugger finally new true with
default for null try
Новые ключевые слова в стандарте EcmaScript 5class const enum export
extends import super
Зарезервированные слова в строгом режиме (в обычном они доступны)implements let private public yield
interface package protected static
arguments eval
Ключевые слова языка Java (зарезервированы в EcmaScript 3)abstract double goto native static
boolean enum implements package super
byte export import private synchronized
char extends int protected throws
class final interface public transient
const float long short volatile
Предопределенные глобальные переменные и функцииarguments encodeURI Infinity Number RegExp
Array encodeURIComponent isFinite Object String
Boolean Error isNaN parseFloat SyntaxError
Date eval JSON parseInt TypeError
decodeURI EvalError Math RangeError undefined
decodeURIComponent Function NaN ReferenceError URIError

Имейте в виду, что конкретные реализации JavaScript могут содержать свои предопределенные глобальные переменные и функции. Кроме того, каждая конкретная платформа JavaScript (клиентская, серверная и прочие) может иметь свой собственный список глобальных свойств.

Синтаксис JavaScript

Синтаксис JavaScript – это набор правил, как создаются программы JavaScript. В этом уроке мы рассмотрим базовые лексические структуры языка.

Читать еще:  Java 8 update 45 что это

Набор символов

При написании программ на JavaScript используется набор символов Unicode. В отличие от 7-разрядной кодировки ASCII, подходящей только для английского языка, и 8-разрядной кодировки ISO Latin-1, подходящей только для английского и основных западноевропейских языков, 16-разрядная кодировка Unicode поддерживает практически все письменные языки, имеющиеся на планете. Стандарт ECMAScript v3 требует, чтобы реализации JavaScript обеспечивали поддержку стандарта Unicode версии 2.1 или выше, а стандарт ECMAScript v5 требует, чтобы реализации обеспечивали поддержку стандарта Unicode версии 3 или выше.

Пробельные символы

Интерпретатор JavaScript игнорирует все пробельные символы которые могут присутствовать между языковыми конструкциями и воспринимает текст программы как сплошной поток кода.
Кроме того, JavaScript также, по большей части, игнорирует символы перевода строки. Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида.

Пробельные символы улучшают читаемость исходного кода, но эти символы, как правило, не нужны для функциональности js-сценария.

Пробельные символы

Код символаНазваниеСокращениеОписаниеEscape последовательность
U + 0009Горизонтальная табуляцияПеремещает позицию печати к следующей позиции горизонтальной табуляцииt
U + 000BВертикальная табуляцияПеремещает позицию печати к следующей позиции вертикальной табуляцииv
U + 000CПрогон страницы, смена страницыВыбрасывает текущую страницу и начинает печать со следующейf
U + 0020ПробелИнтервал между буквами
U + 00A0Неразрывный пробелСимвол, отображающийся внутри строки подобно обычному пробелу, но не позволяющий разорвать в этом месте строку

В дополнение к пробельным символам символы конца строки также используются для улучшения читаемости исходного текста. Однако в некоторых случаях символы конца строки могут влиять на выполнение кода JavaScript, поскольку есть несколько моментов, когда их применение запрещено. Символы конца строки также влияют на процесс автоматической установки точки с запятой.

Следующие символы распознаются интерпретаторами JavaScript как символы конца строки:

Символы конца строки

Код символаНазваниеСокращениеОписаниеEscape последовательность
U + 000AПеревод строкиПеремещает позицию печати на одну строку внизn
U + 000DВозврат кареткиПеремещает позицию печати в крайнее левое положениеr
U + 2028Разделитель строкРазделяет строки текста, но не абзацы
U + 2029Сепаратор абзацевРазделяет абзацы текста

Точка с запятой

Программа (сценарий) на языке JavaScript представляет собой перечень «инструкций», которые выполняются веб-браузером.
В JavaScript инструкции, как правило, разделяются точкой с запятой (;).

Если несколько инструкций располагаются на одной строке, то между ними следует поставить знак «точка с запятой» (;).

JavaScript Синтаксис

JavaScript синтаксис это набор правил построения программ JavaScript.

JavaScript программы

Компьютерная программа — список «инструкций» выполненных в компьютере.

На языке программирования эти инструкции называются заявлениями.

JavaScript — язык программирования.

JavaScript заявления разделяются точкой с запятой:

Пример

В HTML, JavaScript программы выполняются в веб-браузере.

JavaScript заявления

JavaScript заявления состоят из:

  • Значений
  • Операторов
  • Выражений
  • Ключевых слов
  • Комментариев

JavaScript значения

JavaScript синтаксис определяет два типа значений: Фиксированные значения и переменные значения.

Фиксированные значения вызываются литералы. Переменные значения вызываются переменные

JavaScript литералы

Наиболее важными правилами записи фиксированных значений являются:

Числа записываются с десятичными знаками или без них:

Строки текста, написанный в двойных или одиночных кавычках:

JavaScript переменные

На языке программирования, переменные используются для сохранения данных значений.

JavaScript использует ключевое слово var для заявления переменных.

Некий знак равенства используется для присвоения значений к переменным.

В этом примере x определяется как переменная. Затем переменной x присваивается значение 6 :

JavaScript операторы

JavaScript использует арифметические операторы ( + — * / ) — вычисляют значения:

JavaScript использует оператор присваивания ( = ) — присваивает значения переменных:

JavaScript выражение

Выражение представляет собой комбинацию значений, переменных и операторов, которая вычисляет значение.

Вычисление называется оценкой.

Например, 5 * 10 значение 50 :

Выражения также могут содержать значения переменных:

Значения могут быть различных типов, таких как числа и строки.

Например, «Андрей» + » » + «Щипунов» , значение «Андрей Щипунов» :

JavaScript ключевые слова

JavaScript ключевые слова используются для определения действий, которые необходимо выполнить.

Ключевое слово var указывает браузеру на создание переменных:

JavaScript комментарии

Не все заявления JavaScript «выполняются».

Код после двойной косой чертой // или между /* и */ считается комментарием.

Комментарии игнорируются и не выполняются:

var x = 5; // Я буду выполнен

// var x = 6; Я не буду выполнен

Вы узнаете больше о комментариях в более поздней главе.

JavaScript идентификаторы

Идентификаторы являются именами.

В JavaScript идентификаторы используются для имен переменных (ключевых слов, функций и меток).

В большинстве языков программирования правила допустимых названий во многом совпадают.

В JavaScript, первым символом должна быть буква или символ подчеркивания ( _ ) или знак доллара ( $ ).

Последующими символами могут быть буквы, цифры, символы подчеркивания или долларовый знак.

Числа не допускаются в качестве первого символа.
Таким образом JavaScript может легко различать символы от чисел.

JavaScript чувствителен к регистру

Все идентификаторы JavaScript чувствительный к регистру.

Переменная lastName и lastname , две разные переменные.

JavaScript не воспринимает VAR или Var как ключевое слово var .

JavaScript и ВерБлюд

Исторически сложилось, программисты используют различные способы объединения нескольких слов в одно имя переменной:

first-name , last-name , master-card , inter-city .

Дефисы не разрешены в JavaScript. Он предназначен для вычитания.

first_name , last_name , master_card , inter_city .

Верхний ВерБлюд (Дело Паскаля):

FirstName , LastName , MasterCard , InterCity .

Нижний Camel Case:

JavaScript программисты, как правило, используют «вер блюд», который начинается с строчной буквы:

firstName , lastName , masterCard , interCity .

JavaScript набор символов

JavaScript использует юникод набор символов.

Юникод охватывает (почти) все символы, знаки препинания и символы в мире.

Для более точного взгляда, пожалуйста, изучите наши ссылка на юникод.

Записки инженера

Доступным языком заметки по IT технологиям

Структура и синтаксис JavaScript (выжимка)

В этом посте я собрал основную выжимку по структуре и синтаксису языка JavaScript. Зачем, если есть нормальные книги посвещенные JavaScript? Этот пост может пригодиться, в качестве некого справочного материала или шпаргалки для тех кто уже пользовался JavaScript.

Я по своему опыту знаю, что не важно сколько ты работал на том или ином языке или технологии, достаточно прекратить его использовать и через некоторое время обязательно запамятаешь элементарно как функцию или класс объявить. Чтобы минимизировать время «восстановления», я решил создать данную выжимку по структуре и синтаксисе JavaScript

1. Коментарии

Бывают двух типов

2. Вставка скрипта main.js в HTML

В заголовке сайта (между )

3. Переменные

JavaScript не жестко типизированный язык, это означает что переменным не надо указывать тип, интерпретатор сам разберется. Для объявление переменной достаточно написать

Причем типов в Js всего 4-е:

4. Функции

В JavaScript можно создать два вида функций именованные и анонимные.

Именованная функция (стандартная, часто применяемая)

Видна везде (даже до объявления функции) и вызывается так

Функцию можно присвоить переменной

Анонимная функция вызывается также как и именованная (т.е. x=sum(2,3)), ее так-же можно присваивать другой переменной (s=sum). Отличие заключается в следующем:

  1. анонимная функция работает только после объявления
  2. вытекает из первого, анонимную функцию можно определять в условных операторах (например, в зависимости от условия, функцию sum мы можем объявить с разными количеством аргументов)

Передача параметров функции по ссылке и по значению

В JavaScript в отличие от С/C++ нельзя явно указать функции как в нее передавать параметры, по ссылки или по значению. Но важно помнить, что если в качестве параметров в функцию (именованная или анонимная не важно) мы передаем простые типы вроде: целых чисел, вещественных, логических, строк, то они всегда передаются по значению (входящий параметры не изменяются, функция работает с их копиями). В случаем если в функцию передаем массивы или объекты, они передаются по ссылке (входящие параметры изменяются, функция работает с ними напрямую).

Передача функции в качестве аргумента другой функции

Функцию (именованную и анонимную, не важно) можно передавать по ссылке в качестве аргумента другой функции, например

Ссылка на основную публикацию
Adblock
detector