Синтаксис javascript – JavaScript — Синтаксис | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Содержание

Синтаксис JavaScript

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

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

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

var str = "hello, world!";  // Используется латиница
var стр = "Привет, мир!";  // Используется кириллица

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

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

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

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

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

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

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

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

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

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

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

Во многих случаях JavaScript интерпретирует переход на новую строчку как разделитель команд для автоматического ввода точек с запятой (ASI) для завершения инструкций.
Если каждая инструкция размещается на отдельной строке, то разделитель можно не писать:

Одна инструкция может располагаться на нескольких строчках:

В этом случае JavaScript ждёт завершение выражения и поэтому автоматически не вставляет «виртуальную» точку с запятой между строчками.

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

Примечание: Хотя точки с запятой в конце инструкций необязательны, рекомендуется всегда добавлять их. Сейчас это правило, которому следуют все большие проекты.

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

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

Для написания JavaScript-пpoгpaмм используется набор символов Unicode, который включает в себя наборы ASCII и Latin-1 и поддерживается практически всеми языками и платформами.
В JavaScript все элементы, включая имена переменных, функций и операторов, чувствительны к регистру и должны всегда содержать одинаковые наборы прописных и строчных букв. Например, ключевое слово while должно набираться как «while», а не «While» или «WHILE».

Аналогично num, NUM и Num – это три разные переменные:

Комментарии

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

Однострочные комментарии начинаются с двойного слэша //. Текст считается комментарием до конца строки:

Многострочный комментарий начинается с слэша и звездочки (/*), а заканчивается ими же в обратном порядке (*/). Так можно закомментировать одну и более строк:

Совет: Не пренебрегайте комментариями в своих кодах. Они пригодятся вам при отладке и сопровождении программ. На этапе разработки бывает лучше закомментировать ненужный фрагмент программы, чем просто удалить. А вдруг его придется восстанавливать?

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

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

var имя = 'Макс';
var Π = 3.14;

Исторически, программисты использовали разные способы объединения нескольких слов для записи идентификаторов. Сегодня есть два устоявшихся негласных стиля: camelCase и snake_case.
В JavaScript наиболее популярным стилем именования идентификаторов, состоящих из нескольких слов, является camelCase – «верблюжья» нотация. Это означает, что первая буква является строчной, а первые буквы всех последующих слов – прописными, например:

var firstSecond; 
var myCar = "audi";
var doSomethingImportant;

Хотя это не является требованием, рекомендуется следовать этому правилу, чтобы не отступать от формата встроенных функций и объектов ECMAScript.

Внимание: В JavaScript объединение нескольких слов для записи идентификаторов с применением дефисов запрещено. Они зарезервированы для математических вычитаний.

На заметку: В JavaScript ключевые слова, зарезервированные слова и значения

true, false и null не могут быть идентификаторами.

Ключевые и зарезервированные слова

Стандарт ЕСМА-262 определяет набор ключевых слов (keywords), которые не могут использоваться в качестве идентификаторов. Зарезервированные слова имеют определенное значение в языке JavaScript, так как они являются частью синтаксиса языка. Использование зарезервированных слов приведет к ошибке компиляции при загрузке скрипта.

Зарезервированные ключевые слова по версии ECMAScript® 2015

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

Ключевые слова, зарезервированные на будущее

Кроме того, ЕСМА-262 содержит набор зарезервированных слов (reserved words), которые также нельзя использовать как идентификаторы или имена свойств. За ними сейчас не стоит никакой функциональности, но она может появиться в будущих версиях:

В строгом (strict) режиме в этот список добавляются следующие слова:

  • implements
  • package
  • protected
  • static
  • interface
  • private
  • public

Зарезервированные ключевые слова в версиях ECMAScript® от 1 по 3

  • abstract
  • boolean
  • byte
  • char
  • double
  • final
  • float
  • goto
  • int
  • long
  • native
  • short
  • synchronized
  • transient
  • volatile

В 5-й редакции ECMAScript немного изменены правила употребления ключевых и зарезервированных слов. Как и прежде они не могут быть идентификаторами, но теперь их допустимо использовать как имена свойств в объектах. Тем не менее, для обеспечения совместимости с прошлыми и будущими редакциями ECMAScript всё-же лучше не использовать ключевые и зарезервированные слова как идентификаторы и имена свойств.

Итоги

  • Интерпретатор JavaScript игнорирует все пробельные символы которые могут присутствовать между языковыми конструкциями и воспринимает текст программы как сплошной поток кода.
    Кроме того, JavaScript также, по большей части, игнорирует символы перевода строки. Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида.
  • Пропуск точек с запятой нельзя признать правильной практикой программирования, и поэтому желательно выработать привычку их использовать.
  • В JavaScript все элементы, включая имена переменных, функций и операторов, чувствительны к регистру и должны всегда содержать одинаковые наборы прописных и строчных букв.
  • Не пренебрегайте комментариями в своих кодах. Они пригодятся вам при отладке и сопровождении программ. Не переживайте насчет увеличения размера кода, т.к. существуют инструменты сжатия JavaScript, которые, при публикации, легко удалят комментарии.
  • Идентификаторы выступают в качестве имён переменных, функций, свойств объекта и состоят из последовательности букв, цифр, символов подчёркивания (_) и знаков доллара ($).
  • Ключевые слова JavaScript, применяемые для обозначения элементов синтаксиса языка, а также другие слова, зарезервированные на будущее, нельзя использовать в качестве имен переменных, функций и объектов.

JavaScript | Синтаксис

333 84

Веб-программирование — 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 WIDTH JOINER (\u200D) и ZERO WIDTH NON-JOINER (\u200C), которые можно использовать в идентификаторах при условии, что они не являются первыми символами идентификаторов.

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

Синтаксис Javascript

Синтаксис JavaScript это набор правил, по которым строится программа на JavaScript:


 var x, y;          // Так декларируются переменные
 x = 5; y = 6;      // Так присваиваются значения
 z = x + y;         // Так вычисляются значения

Значения JavaScript

В JavaScript существует два вида значений: фиксированные значения и переменные значения.

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

Константы JavaScript

Главное, что нужно знать при написании фиксированных значения это то, что

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


 10.50

 1001 

Строки это текст, заключенный в двойные или одинарные кавычки:


 "John Doe"

 'John Doe' 

Переменные JavaScript

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

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

Чтобы присвоить переменной значение используется знак равно (=).

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


 var x;

 x = 6; 

Операторы JavaScript

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


 (5 + 6) * 10

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


 var x, y;
 x = 5;
 y = 6;

Операнды JavaScript

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


 5 * 10
 x * 10 

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

Например, операнд «John» + » » + «Doe» вычислит строку «John Doe»:


 "John" + " " + "Doe" 

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

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

Например, ключевое слово var говорит браузеру, что нужно создать переменные:


 var x, y;
 x = 5 + 6;
 y = x * 10; 

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

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

Код после двойного слэша // или между /* и */ воспринимается браузером как комментарий.

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


 var x = 5;   // Меня выполнят

 // var x = 6;   Меня НЕ выполнят

Подробнее о комментариях вы узнаете в следующей главе.

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

Идентификаторы — это имена.

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

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

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

В качестве первого символа идентификатора нельзя использовать цифры. Так JavaScript отличает идентификаторы от числовых значений.

Все идентификаторы в JavaScript регистрозависимы.

Переменные lastName и lastname это разные переменные.


 var lastname, lastName;
 lastName = "Doe";
 lastname = "Peterson"; 

Таким образом, идентификаторы VAR или Var не будут интерпретироваться JavaScript как ключевое слово var.

JavaScript и «Горбатый Регистр»

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

Тире:


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

Внимание! Использование символа тире в идентификаторах в JavaScript запрещено. Тире зарезервирован для операции вычитания.

Символ подчеркивания:


first_name, last_name, master_card, inter_city.

Верхний «горбатый регистр» (стиль языка Pascal). «Горбатый регистр» называется так за сходство написания идентификаторов с горбами двугорбого верблюда — отдельные слова, составляющие идентификатор, начинаются с большой буквы, напоминая горб верблюда:


FirstName, LastName, MasterCard, InterCity.

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


firstName, lastName, masterCard, interCity.

Набор символов в 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 «выполняются».

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

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

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


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 использует юникод набор символов.

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

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


Лексическая структура JavaScript. Синтаксис JavaScript.

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки по JavaScript, в которой уже были публикации: JavaScript строки и символы JavaScript, JavaScript числа, преобразование числа в строку JavaScript и строку в число.  В рамках рубрики Заметки по JavaScript были публикации: JavaScript операторы (void JavaScript, delete JavaScript, typeof JavaScript, new JavaScript), вставка JavaScript в HTML, типы данных JavaScript, логические значения true JavaScript и false JavaScript и специальные значения null JavaScript и undefined JavaScript. В этой публикации я хотел бы поговорить о том, о чем должен был написать еще в первой публикации, а именно про лексическую структуру JavaScript и синтаксис JavaScript.

Лексическая структура JavaScript. Синтаксис JavaScript.

Для тех, кто не понимает термин лексическая структура, поясню: лексическая структура языка в нашем случае JavaScript – это набор правил, которые необходимо соблюдать при написание программ, сценариев, скриптов, чтобы избежать синтаксических ошибок. Прежде, чем двигаться дальше, предлагаю внести немного ясности в такой вопрос, что же такое JavaScript. Ну, во-первых, JavaScript – это не Java и даже не упрощенная версия языка Java, как думают некоторые, хотя у них есть синтаксическая схожесть и оба этих языка имеют возможность предоставить результаты своей работы web браузеру. JavaScript – интерпретируемый язык программирования, но это не означает, что он простой и многие(в том числе и автор) считают и используют этот язык только как язык сценариев, не используя возможности JavaScriptв полную силу. Официальное название языка JavaScript – ECMAScript, но все уже настолько привыкли, что называют его JavaScript, разрабатывался JavaScript кампанией Netscape. А спецификация стандартизирующее ядро языка JavaScript называется ECMA-262. Ну что, же думаю, что можно приступить, к разбору лексической структуры JavaScript.

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

Набор символов JavaScript. Регистр символов JavaScript, чувствительность регистра. Пробельные символы JavaScript.

Содержание статьи:

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

Набор символов, используемых в языке JavaScript. Символы JavaScript.

Первое, что следует рассмотреть – это набор символов, который можно использовать при написание программ, скриптов или сценариев на JavaScript, проще говоря, JavaScript символы. В JavaScript используется набор символов Unicode, так как шестнадцатиразрядная кодировка Unicode обеспечивает представление практически всех письменных языков, в отличие от ASCII или ISO Latin, с помощью этих кодировок можно представить только западноевропейские языки.

Но если ваш редактор не поддерживает Unicode и в нем есть только кодировки типа ASCII, не переживайте, ASCII и ISO Latin, представляют из себя подмножество Unicode,  и любая программа, написанная при помощи набора символов из ASCII, ISO Latin или других Unicode подмножеств будет работать корректно.

Так как в JavaScript используется кодировка Unicode, то соответственно в JavaScript каждый символ будет представлен двумя байтами, но на работе Ваших программ этот факт никак не отразится и вы можете просто про это забыть. На данный момент, стандартом ECMAScript разрешено использовать Unicode символы в любом месте программы написанной на JavaScript, для нас русскоговорящих это означает, что мы можем давать имена переменным, функциям, новым объектам, используя русские буквы, раньше можно было использовать русские символы в JavaScript, только в комментариях и JavaScript строках. 

Чувствительность к регистру символов в JavaScript. Регистр JavaScript.

И так, мы уже разобрались, какие символы можно использовать при написание JavaScript программ, а какие нельзя. Теперь давайте посмотрим, как JavaScript относится к регистру символов. Сразу скажу, что JavaScript – это язык, чувствительный к регистру. А это означает следующее: ключевые слова, имена переменных, функций и любых других идентификаторов  JavaScript должны содержать одинаковый набор прописных и строчных букв. Это означает, например, что ключевое слово switch, следует писать как switch, а не Switch или SWITCH. Или это означает, что newVar, NewVar, newvar, newVAR, NEWVAR – имена пяти различных JavaScript переменных. Естественно, встраивать JavaScript мы будем в HTML-страницы, а как вы знаете, язык разметки гипертекстов не чувствителен к регистру. А некоторые JavaScript объекты и свойства этих объектов имеют те же имена, что и HTML тэги и HTML атрибуты. Что может привести к путанице. Например, обработчик событий onclick в HTML обычно пишут как “onClick”, но в JavaScript, такие вольности не допустимы и писать его надо “onclick” – и никак иначе.

Пробельные символы JavaScript, необязательные точки с запятой при написание JavaScript  инструкций 

Про пробельные символы и то какие они бывают и для чего используются в HTML я говорил в рубрике Заметки по HTML, в публикации HTML теги, часть 1. Тэг PRE авторское форматирование, тэг BR перенос строк. Пробельные символы. А в этой публикации, я просто скажу, что интерпретатор JavaScript будет игнорировать все пробелы, табуляции, переносы строк присутствующие в коде программы, пробельных символов в JavaScript нет, а переносы строк в JavaScript строках создаются при помощи управляющей последовательности JavaScript.

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

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

Также, пропуск точек с запятой считается дурным тоном, и поэтому выработайте привычку ставить точку с запятой после каждой JavaScript инструкции,  в последствие это вам поможет избежать ошибок. Так как интерпретатор все-таки машина, а не человек, и действует он согласно заложенным ему инструкциям. То есть, когда он видит законченную инструкцию на новой строке без точки с запятой, он в любом случае ее туда поставит. Чаще всего неприятные ситуации связанные с тем, что интерпретатор JavaScript проставляет автоматически точки с запятой, происходят с инструкциями return, break и continue. Например, написали вы следующий код:

А машина решит, что вы в этой ситуации забыли поставить точку с запятой и сделает это за вас. И будет исполнять этот код как две различных инструкции, а не как одну:

Но нам-то необходима была одна инструкция:

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

JavaScript комментарии. Литералы и идентификаторы JavaScript. Зарезервированные слова JavaScript.

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

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

Начнем мы с комментариев JavaScript, ни для кого не секрет, что в процессе написания кода программы, неплохо было бы оставлять для самого себя какие-то небольшие пометки для того, чтобы спустя какое-то время открыть код и быстро найти нужный фрагмент, который мы захотим исправить или удалить, так же неплохо было бы временно отключать какие-то фрагменты кода, при этом их не удаляя. Для всех этих целей как раз таки и используются комментарии. JavaScript поддерживает два стиля комментариев: стиль C++ и стиль C.

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

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

Литералы и элементарные типы данных JavaScript 

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

Примеры литералов в JavaScript:

16           // Число шестнадцать 3.1         // Число три целых одна десятая “John”  // Текстовая строка null     //Отсутствие объекта true    //Логическое значение

16           // Число шестнадцать

 

3.1         // Число три целых одна десятая

 

“John”  // Текстовая строка

 

null     //Отсутствие объекта

 

true    //Логическое значение

В данном примере присутствует практически все возможные типы данных JavaScript, которые могут использоваться как литералы. Числовые типы данных JavaScript, строковые типы данных JavaScript, null – это тоже тип данных в JavaScript, литералом в JavaScript могут выступать логические типы данных, в примере нет регулярных выражений, но JavaScript допускает их использование в качестве литералов.

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

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

a my_var k234g_21g _var $Vasya

a

 

my_var

 

k234g_21g

 

_var

 

$Vasya

По сути в идентификаторе JavaScript могут содержаться все буквы и цифры из всего набора символов Unicode, правда я бы советовал использовать только буквы латинского алфавита. Обратите внимание, что идентификаторы не могут совпадать ни с одним из ключевых слов JavaScript (именами встроенных методов JavaScript, таких, как alert (), confirm (), и пр.)

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

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

Список зарезервированных слов в JavaScript:

  • breack
  • catch
  • default
  • do
  • finaly
  • function
  • in
  • new
  • return
  • try
  • var
  • while
  • case
  • continue
  • delete
  • else
  • for
  • if
  • instanceof
  • null
  • switch
  • throw
  • typeof
  • void
  • with

Как вы видите в список зарезервированных слов JavaScript вошли ключевые слова, обозначающие JavaScript операторы, JavaScript инструкции, типы данных JavaScript.

Слова, зарезервированные для расширения JavaScript

Тут представлены слова, которые нельзя использовать при именование переменных JavaScript и функций, они хоть и не используются в данный момент, но могут быть использованы в дальнейшем для расширения языка JavaScript

Список всех зарезервированных слов для расширения языка JavaScript:

  • abstract
  • boolean
  • byte
  • char
  • class
  • const
  • debugger
  • double
  • enum
  • export
  • extends
  • final
  • float
  • goto
  • implements
  • import
  • int
  • interface
  • long
  • native
  • package
  • private
  • protected
  • public
  • short
  • static
  • super
  • synchronized
  • throws
  • transient
  • volatile

Идентификаторы, которых следует избегать при именовании JavaScript переменных и функций

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

Рекомендации к именованию JavaScript переменных, методов, функций. Верблюжья нотация, Camel notation.

Также имеются некоторые рекомендации по именованию JavaScript функций, методов и переменных. Заметьте, это всего лишь рекомендации, по-другому, – правила хорошего тона. Интерпретатор JavaScript вас поймет, даже если вы не будете ими руководствоваться.

Эти рекомендации по именованию в JavaScript называются верблюжьи нотации. И заключаются эти рекомендации в следующем:

  • Все имена JavaScript переменных должны писаться маленькими буквами, например, имя переменно var1 – пишется в нижнем регистре;
  • На стыке двух слов следует использовать заглавную букву, например, я написал функцию на JavaScript, которая предназначена для подсчета посетителей сайта, и назвать я ее захотел, как счетчик пользователей – userCounter, обратите внимание, первое слово user написано с маленькой буквы, а Counter с большой;
  • Переменные и свойства классов должны быть существительными, например, var, user, book, price и так далее;
  • Массивы и коллекции JavaScript именуются существительными во множественном числе, например, массив, в котором будут храниться данные пользователей зарегистрированных на сайте можно назвать users;
  • В качестве имен функций и методов JavaScript следует использовать глаголы;
  • Имена JavaScript классов следует писать с большой буквы;

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

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

JavaScript — Синтаксис | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

JavaScript может быть реализован с помощью инструкций JavaScript, которые расположены в пределах HTML-тегов <script>…</script> в веб – странице.

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

Тег <script> оповещает программе браузера, чтобы он начать интерпретировать весь текст между этими тегами, как сценарий. Простой синтаксис вашего JavaScript будет выглядеть следующим образом.

<script ...>
   Код JavaScript
</script>

 

Тег сценария принимает два важных атрибутов:

  • language – Этот атрибут определяет, какой язык сценариев вы используете. Как правило, его значение будет JavaScript. Хотя последние версии HTML (и XHTML, его правопреемник) уже прекратили использование этого атрибута.
  • type – Этот атрибут является то, что в настоящее время рекомендуется, чтобы указать язык сценариев в использовании, и его значение должно быть установлено в значение «text/javascript».

Так что ваш участок кода JavaScript будет выглядеть следующим образом:

<script language="javascript" type="text/javascript">
   Код JavaScript
</script>

 

Ваш первый скрипт на JavaScript

Возьмем пример распечатать «Привет мир!». Мы добавили дополнительный HTML-комментарий, который окружает наш код JavaScript. Это для того, чтобы сохранить наш код в браузере, который не поддерживает JavaScript. Комментарий заканчивается на “//–>”. Здесь «//» означает комментарий в JavaScript, поэтому мы добавим, его, чтобы предотвратить браузеру от чтения конца HTML-комментария как кусок кода JavaScript. Далее, мы вызовем функцию document.write, которая записывает строку в наш HTML-документ.

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

<html>
   <body>
      <script language="javascript" type="text/javascript">
         <!--
            document.write("Привет мир!")
         //-->
      </script>
   </body>
</html>

 

Этот код будет выдаст следующий результат:

Привет мир!

Пробелы и разрывов строк

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

Точка с запятой не является обязательной

Простые высказывания в JavaScript, как правило, следует точка с запятой, так же, как в C, C ++ и Java. JavaScript, однако, позволяет опустить точку с запятой, если каждый из ваших заявлений размещаются на отдельной строке. Например, следующий код может быть записан без запятой.

<script language="javascript" type="text/javascript">
   <!--
      var1 = 5
      var2 = 15
   //-->
</script>

 

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

<script language="javascript" type="text/javascript">
   <!--
      var1 = 5; var2 = 15;
   //-->
</script>

 

Примечание:

Это хорошая практика программирования использовать точку с запятой.

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

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

Таким образом, идентификаторы Time и TIME будут передавать различные значения в JavaScript.

Примечание:

Следует соблюдать осторожность при написании имен переменных и функций в JavaScript.

Комментарии в JavaScript

JavaScript поддерживает стиль комментариев C-стиль и C ++, так:

  • Любой текст между // и концом строки рассматривается как комментарий и игнорируется в JavaScript.
  • Любой текст между символами / * и * / рассматривается как комментарий. Он может занимать несколько строк.
  • JavaScript также распознает HTML комментарий открытия последовательности <! -. JavaScript рассматривает это как однострочный комментарий, так же, как это делает // комментарий.
  • HTML комментарий закрытия последовательности -> не распознается JavaScript поэтому он должен быть записан как //->.

Пример

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

<script language="javascript" type="text/javascript">
   <!--
   
      // Это комментарий. Он похож на комментарии в C++
   
      /*
      * Это многострочный комментарий на JavaScript
      * Он очень похож на комментарии в программировании C
      */
   
   //-->
</script>

 

JavaScript - СинтаксисJavaScript - Синтаксис

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

JavaScript: Возможности и ограничения

JavaScript

JavaScript – это интерпретируемый язык программирования, разработанный для взаимодействия с веб-страницами. JavaScript представляет собой реализацию ECMAScript. ECMAScript – это просто описание языка, который определён в стандарте ECMA-262.

JavaScript состоит из трёх частей:

  • Ядро (ECMAScript) – базовая функциональность JavaScript.
  • Объектная модель документа (Document Object Model, DOM) – средства для работы с содержимым веб-страниц.
  • Объектная модель браузера (Browser Object Model, BOM) – средства для взаимодействия с браузером.

Клиентский JavaScript

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

Возможности

Итак, небольшой список того, что позволяет JavaScript:

  • Добавлять различные эффекты анимации
  • Реагировать на события — обрабатывать перемещения указателя мыши, нажатие клавиш с клавиатуры
  • Осуществлять проверку ввода данных в поля формы до отправки на сервер, что в свою очередь снимает дополнительную нагрузку с сервера
  • Создавать и считывать cookie, извлекать данные о компьютере посетителя
  • Определять браузер
  • Изменять содержимое HTML-элементов, добавлять новые теги, изменять стили

Этим конечно же список не ограничивается, так как помимо перечисленного JavaScript позволяет делать и многое другое.

Ограничения

Существуют так же и некоторые ограничения, распространяемые на данный язык:

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

В целом, можно сказать, что он разработан таким образом, чтобы затруднить выполнение вредоносного кода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *