Содержание
Оглавление
Описание
JavaScript - скриптовый, динамически слабо типизированный язык программирования… А впрочем опустим это разглагольство.
Хотя нет, кое-что нужно все-таки сказать. Что обозначают вышесказанные три слова: скриптовый, динамически и слабо (типизированный).
Скриптовый
Потому что выполняется он интерпретатором.
Что такое интерпретатор?
Это программа, которая выполняет код на лету. То есть читает строку и тут же её выполняет.
И так, JavaScript – скриптовый язык программирования, потому что код выполняется построчно.
Динамически типизированный
Уже не понятно, да? Сейчас поймешь.
Вот пишем мы программку и вдруг нам надо что-то сохранить на время ее работы. Тут пригодятся такие штуки, как переменные (потому что мы их можем менять, пока код выполняется). А вот как это делается в JavaScript (на примере числа):
var a = 2;
Что же это значит: var
- говорим, что мы хотим создать эти ваши переменные, a
- даем имя (мы же как-то должны потом обратится к ней, чтобы узнать её значение), =
- символ (операнд) операции присвоения, 2
- значение, которое следует
сохранить.
И так, если хотя бы чуть чуть знаком с программированием, то наверно знаешь, что все данные можно разделить на числа, строки, булевы (истина и ложь) и т.д. Так вот, динамическая типизация сама определяет, какой тип данных введен в переменную. Удобно, не правда ли?
Слабо типизирован
Слабая типизация (нестрогая) - языки данной типизации совершают большое количество неявных изменений автоматически, даже в том случае если может случиться потеря точности или неоднозначное преобразование.
Самый простой пример из JavaScript, который многим ломает мозг:
let i = 1 + '1'; // Переменная будет равна "11", число преобразуется в строку, строки объединят символы console.log(i - 1); // Будет выведено 10, строка преобразуется в число
JavaScript для клиентской части
Подключение к HTML
Для того, чтобы код работал, можно воспользоваться 3 способами: вставить прямиком в HTML файл (используется редко, обычно для отладки), подключить внешний файл или воспользоваться консолью отладки в браузере (проверки функционала какой-то функции).
Консоль в браузере
Самый быстрый и легчайший вариант что-то проверить. Открывается на горячую клавишу <F12>
и находится во вкладке «Отладка». Здесь можно проверить правильность выполнения выражения или функции, вызвать свою функцию (если в загружаемой странице она присутствует) и многое другое.
В данную консоль выводятся все ошибки выполнения кода и предупреждения. А еще туда можно выводить
произвольные данные с помощью команды console.log(переменная_или_данные);
Встраивание в файл
Самый простой вариант - вставить в HTML файл. Тут все доволно просто:
... <head> ... <script> // Тут строки кода </script> ... </head> ...
Плюсы такого подхода:
А этот вид пути указывает расположение искомого файла относительно файла, с которого начинается поиск.
Представим, дан каталог с таким содержимым (слеш в конце имени - указание, что это каталог):
Я каталог/ | |_ index.html |_ otherPages/ | |_ about.html | |_ scripts/ | |_ serverResolver.js | |_ animations.js | |_ styles/ |_ style.css
Пример 1: к index.html
подключаем animations.js
. Файл index.html
находится в основном каталоге проекта, т.е. начало берется отсюда. Нам нужно попасть в каталог scripts
и взять оттуда файл animations
.
Весь относительный путь от файла index.html
до нужного нам выглядит так: scripts/animations.js
.
Пример 2: к about.html
подключаем style.css
. Файл about.html
лежит в дочернем каталоге otherPages
, тут и начинается наш путь. Нам сначала требуется выйти из этого каталога (поднятся вверх) ..
, теперь перейти в каталог styles
и выбрать файл style.css
.
Весь относительный путь от файла about.html
до нужного:
../styles/style.css
.
Когда применять абсолютный или относительный пути
Вопрос зависит от ситуации. Если в дальнейшем расположение папки проекта будет менятся (тем более много раз) - без относительного пути никак. Если файлы вне проекта ссылались на файлы проекта, то после перемещения об этом главное не забыть.
Или если иерархия папок проекта огромна и нужные файлы находятся рядом и расположения не меняют - тут тоже не обойтись без относительных путей.
Но бывают случаи, когда без абсолютного пути не обойтись. Самый простой - если мы внутри множества дочерних каталогов (допустим, /я/устал/это/писать/но/я/мазахист/файл.html
) и нужно содержимое файла в корне
проекта (/подключи_меня.css
).
Основы JavaScript
Встроенные функции для легкого старта
console.log(значение_или_переменная);
– выводит значения аргументов в консоль (для браузера:<F12>
- вкладка «Отладка»; для серверов на NodeJS: в терминал);alert(сообщение);
- выводит значения аргументов в отдельное окошко браузера 1);prompt(заголовок, значение_поля_по_умолчанию);
– выводит текст и добавляет поле для ввода пользователем данных 2). Выводом служит значение в поле.