ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 25
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
JavaScript (принято произносить "Джаваскрипт") - это язык программирования, выполняющийся на стороне пользователя с помощью браузера. Он позволяет управлять элементами веб-страницы - заставлять их менять свои свойства и расположение, двигаться, реагировать на события, такие как перемещение мыши или нажатия клавиатуры, а также создавать множество других интересных эффектов.
Спецификация
Спецификация ECMA-262 содержит самую глубокую, детальную и формализованную информацию о JavaScript. Она определяет сам язык.
Внедрение кода JavaScript в документ HTML можно выполнить двумя способами:
Первый - размещение кода непосредственно в HTML-файле
Второй - размещение кода в отдельном файле.
Польза отдельных файлов в том, что браузер загрузит скрипт отдельно и сможет хранить его в кеше.
Другие страницы, которые подключают тот же скрипт, смогут брать его из кеша вместо повторной загрузки из сети. И таким образом файл будет загружаться с сервера только один раз.
Это сокращает расход трафика и ускоряет загрузку страниц.
-
Для добавления кода JavaScript на страницу используется тег -
Атрибуты type и language необязательны. -
Скрипт во внешнем файле можно вставить с помощью .
Инструкции
Инструкции – это синтаксические конструкции и команды, которые выполняют действия.
Мы уже видели инструкцию alert('Привет, мир!'), которая отображает сообщение «Привет, мир!».
Переменные
Переменная – это «именованное хранилище» для данных. Мы можем использовать переменные для хранения товаров, посетителей и других данных.
Для создания переменной в JavaScript используйте ключевое слово let.
Ключевое слово let было введено в стандарте ECMAScript 6 (ES6) JavaScript. Использование let предоставляет переменной область видимости блока. Рекомендуется отдавать предпочтение использованию let вместо var для более эффективного управления областью в приложении.
JavaScript использует различные типы областей
, такие как глобальная область и область функции, чтобы определить, какие переменные доступны в отдельных частях кода. Например, глобальная переменная доступна внутри функции, так как она принадлежит глобальной или «внешней» области. Переменные, обозначенные ключевым словом var (их значения видимы), входят в тело функции, а переменные let указываются в их внешнем блоке в фигурных скобках. Это означает, что при использовании var в цикле for он будет видим за пределами цикла for, что может привести к непредвиденным результатам. Использование let — станет лучшим вариантом, так как он доступен только во внешнем блоке (т. е. в цикле for), и поэтому его доступность может быть более ожидаемой.
Объявление и инициализация константы следуют тем же концепциям, что и переменная, за исключением того, что она использует ключевое слово const.
Константы аналогичны переменным с двумя исключениями:
-
Они должны иметь значение. Константы должны быть инициализированы, иначе при запуске кода возникнет ошибка. -
Ссылку нельзя изменить. Если ссылка константы изменится после инициализации, при запуске кода возникнет ошибка.
В JavaScript есть два ограничения, касающиеся имён переменных:
-
Имя переменной должно содержать только буквы, цифры или символы $ и _. -
Первый символ не должен быть цифрой. -
Существует список зарезервированных слов, которые нельзя использовать в качестве имён переменных, потому что они используются самим языком. -
Например: let, class, return и function зарезервированы.
Типы данных
В JavaScript есть 8 основных типов.
-
number для любых чисел: целочисленных или чисел с плавающей точкой; целочисленные значения ограничены диапазоном ±(253-1). -
bigint для целых чисел произвольной длины. -
string для строк. Строка может содержать ноль или больше символов, нет отдельного символьного типа. -
boolean для true/false. -
null для неизвестных значений – отдельный тип, имеющий одно значение null. -
undefined для неприсвоенных значений – отдельный тип, имеющий одно значение undefined. -
object для более сложных структур данных. -
symbol для уникальных идентификаторов.
Оператор typeof позволяет нам увидеть, какой тип данных сохранён в переменной.
-
Имеет две формы: typeof x или typeof(x). -
Возвращает строку с именем типа. Например, "string". -
Для null возвращается "object" – это ошибка в языке, на самом деле это не объект.
prompt
Функция prompt принимает два аргумента:
result = prompt(title, [default]);
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена.
title
Текст для отображения в окне.
default
Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.
Пользователь может напечатать что-либо в поле ввода и нажать OK. Введённый текст будет присвоен переменной result. Пользователь также может отменить ввод нажатием на кнопку «Отмена» или нажав на клавишу Esc. В этом случае значением result станет null.
confirm
Синтаксис:
result = confirm(question);
Функция confirm отображает модальное окно с текстом вопроса question и двумя кнопками: OK и Отмена.
Результат – true, если нажата кнопка OK. В других случаях – false.
Например:
let isBoss = confirm("Ты здесь главный?");
alert( isBoss ); // true, если нажата OK
Существует 3 наиболее широко используемых преобразования: строковое, численное и логическое.
Строковое – Происходит, когда нам нужно что-то вывести. Может быть вызвано с помощью String(value). Для примитивных значений работает очевидным образом.
Численное – Происходит в математических операциях. Может быть вызвано с помощью Number(value).
Преобразование подчиняется правилам:
Значение | Становится… |
undefined | NaN |
null | 0 |
true / false | 1 / 0 |
string | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0, иначе из непустой строки «считывается» число. При ошибке результат NaN. |
Логическое – Происходит в логических операциях. Может быть вызвано с помощью Boolean(value).
Подчиняется правилам:
Значение | Становится… |
0, null, undefined, NaN, "" | false |
любое другое значение | true |
Большую часть из этих правил легко понять и запомнить. Особые случаи, в которых часто допускаются ошибки:
-
undefined при численном преобразовании становится NaN, не 0. -
"0" и строки из одних пробелов типа " " при логическом преобразовании всегда true.