Основы JavaScript
Что такое Javascript ?🧐
JavaScript
Мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией стандарта ECMAScript (стандарт ECMA-262)
Изначально JavaScript был создан, чтобы «сделать веб-страницы живыми».
Программы на этом языке называются скриптами. Они могут встраиваться в HTML и выполняться автоматически при загрузке веб-страницы.
Скрипты распространяются и выполняются, как простой текст. Им не нужна специальная подготовка или компиляция для запуска.
Сегодня JavaScript может выполняться не только в браузере, но и на сервере или на любом другом устройстве, которое имеет специальную программу, называющуюся «движком» JavaScript.
У браузера есть собственный движок, который иногда называют «виртуальная машина JavaScript».
Возможности JavaScript в браузере
Современный JavaScript – это «безопасный» язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что изначально был создан для браузеров, не требующих этого.
Возможности JavaScript сильно зависят от окружения, в котором он работает. Например, Node.JS поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов и т.д.
В браузере для JavaScript доступно всё, что связано с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.
Добавлять новый HTML-код на страницу, изменять существующее содержимое, модифицировать стили. | ✅ |
Реагировать на действия пользователя, щелчки мыши, перемещения указателя, нажатия клавиш. | ✅ |
Отправлять сетевые запросы на удалённые сервера, скачивать и загружать файлы (технологии AJAX). | ✅ |
Получать и устанавливать куки, задавать вопросы посетителю, показывать сообщения. | ✅ |
Запоминать данные на стороне клиента («local storage»). | ✅ |
Читать/записывать произвольные файлы на жёстком диске, копировать их или запускать программы. | 🛑 |
Закрывать окна и вкладки, которые не были открыты с его помощью | 🛑 |
Осуществлять кроссдоменные запросы, получать доступ к веб-страницам, расположенным на другом домене. | 🛑 |
Подключение
Прежде всего, необходимо узнать, как добавить сценарий JavaScript на страницу HTML. Это можно сделать одним из двух способов: поместить теги Script на Web-странице и расположить код JavaScript внутри этих тегов, или поместить весь код JavaScript в отдельный файл и связаться с ним с помощью тега Script. Любой из этих методов вполне допустим, но они имеют разное назначение.
- Если имеется небольшой код, который будет использоваться только на одной странице, то размещение его между тегами Script будет хорошим решением.
- Если, однако, имеется большой фрагмент кода, который будет использоваться на нескольких страницах, то, наверно, лучше поместить этот код JavaScript в отдельный файл и соединиться с ним.
Это делается для того, чтобы не нужно было загружать этот код всякий раз при посещении различных страниц. Код загружается один раз, и браузер сохраняет его для последующего использования. Это похоже на то, как используются CSS.
Примеры подключения кода JavaScript:
1<script type="text/javascript">2var a=1;3var b=2;4var c = a+b;5</script>6<script type="text/javascript" src="scripts/main.js" />
Отладочный вывод
Вы всегда можете добавить console.log
вместо, где хотите получить информацию о состоянии программы. Этот способ хорош как дополнение к остальным.
Так же вы можете написать определенное условие для отладки, вставить в него console.log
и поставить точку останова.
Комментирование
В любой момент вы можете выключить ту или иную часть кода, не стирая её с помощью синтаксиса комментариев.
1var a = b + 5;2//a += prompt(); //однострочный комментарий, временно "выключаем" ввод пользователя.3//console.log(a); //выключенный отладочный вывод, что бы не мозолил глаза, пока не нужен4var c = somePerfectFunction(a) //функция работает хорошо5/* if (blahala){6asdfasdf78explodeMoon()9*/ //многострочный комментарий с большим куском кода, выключен потому что в нём куча ошибок.
Нестрогая динамическая типизация
Javascript - язык с нестрогой динамической типизацией.
Динамическая типизация означает, что одну и ту же переменную можно сначала инициализировать строкой, потом числом, потом булевым значением, и так далее. Языки со статической типизацией, как язык C, Java, подобного не позволяют.
Нестрогая типизация означает, что язык может сам определять и менять тип переменной в зависимости от контекста. К примеру, строка "1" может быть интерпретирована как число 1 в математических операциях, абсурдных для строки. У этого есть плюсы и минусы, однако надо быть аккуратным в использовании таких возможностей языка, из-за вероятности возникновения трудноустраняемых ошибок.
Простейшие операции
1var foots = 2;2var fingersOnTheFoot = 5;3var hands = 2;4var fingersOnTheHand = 2;5var totalFingers = foots*fingersOnTheFoot + hands*fingersOnTheHand //сколько всего пальцев на ногах и руках?6var numberOfLimbs = totalFingers / fingersOnTheHand //сколько у человека конечностей?7var numberOfHands = numberOfLimbs - foots //сколько у человека рук?
Выражения
Выражением называется часть кода программы, которая при выполнении подменяется результатом (значением) её вычисления. Значение является экземпляром одного из типов данных JS.
Обычно выражения вычисляются в первую очередь.
1var a = 52var b = 103var c = a + b //эти две строки равнозначны4 c = 15 //567var helloWorld = "Hello World"; //строка8var helloWorld2 = "Hello" + "world"; // строка
Важно
Для того, что бы убедится в том, что данная часть кода является выражением, оберните её в скобки. Если это не вызывает ошибки интерпретатора JS, значит данный кусок кода - выражение. Иначе это не выражение.