Содержание

Оглавление

Описание

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>
...

Плюсы такого подхода: FIXME

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

Представим, дан каталог с таким содержимым (слеш в конце имени - указание, что это каталог):

 Я каталог/
 |
 |_ 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

Встроенные функции для легкого старта

1) , 2)
только для браузеров