Описание JavaScript
JavaScript — прототипно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений.
Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты:
1) динамическая типизация;
2) слабая типизация;
3) автоматическое управление памятью;
4) прототипное программирование;
5) функции как объекты первого класса;
JavaScript — быстрый и мощный язык, но браузер накладывает на его исполнение некоторые ограничения.
Это сделано для безопасности пользователей, чтобы злоумышленник не мог с помощью JavaScript получить личные данные или как-то навредить компьютеру пользователя. В браузере Firefox существует способ «подписи» скриптов с целью обхода части ограничений, но он нестандартный и не кросс-браузерный.
Этих ограничений нет там, где JavaScript используется вне браузера, например на сервере.
Большинство возможностей JavaScript в браузере ограничено текущим окном и страницей.
JavaScript не может читать/записывать произвольные файлы на жесткий диск, копировать их или вызывать программы. Он не имеет прямого доступа к операционной системе.
Современные браузеры могут работать с файлами, но эта возможность ограничена специально выделенной директорией — песочницей. Возможности по доступу к устройствам также прорабатываются в современных стандартах и, частично, доступны в некоторых браузерах.
JavaScript, работающий в одной вкладке, почти не может общаться с другими вкладками и окнами. За исключением случая, когда он сам открыл это окно или несколько вкладок из одного источника (одинаковый домен, порт, протокол).
Есть способы это обойти, и они раскрыты в учебнике, но для этого требуется как минимум явное согласие обеих сторон. Просто так взять и залезть в произвольную вкладку с другого домена нельзя.
Из JavaScript можно легко посылать запросы на сервер, с которого пришла страничка. Запрос на другой домен тоже возможен, но менее удобен, т.к. и здесь есть ограничения безопасности.
Есть как минимум три замечательных особенности JavaScript:
Полная интеграция с HTML/CSS.
Простые вещи делаются просто.
Поддерживается всеми распространенными браузерами и включен по умолчанию.
Этих трех вещей одновременно нет больше ни в одной браузерной технологии. Поэтому JavaScript и является самым распространенным средством создания браузерных интерфейсов.
Программы на языке JavaScript можно вставить в любое место HTML при помощи тега SCRIPT. Например:показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
<!DOCTYPE HTML>
<html>
<head>
<!-- Тег meta для указания кодировки -->
<meta charset="utf-8">
</head>
<body>
<p>Начало документа...</p>
<script>
alert('Привет, Мир!');
</script>
<p>...Конец документа</p>
</body>
</html>
Этот пример использует следующие элементы:
<script> ... </script>
Тег script содержит исполняемый код. Предыдущие стандарты HTML требовали обязательного указания атрибута type, но сейчас он уже не нужен. Достаточно просто<script>.
Браузер, когда видит <script>:
Начинает отображать страницу, показывает часть документа до script
Встретив тег script, переключается в JavaScript-режим и не показывает, а исполняет его содержимое.
Закончив выполнение, возвращается обратно в HTML-режим и отображает оставшуюся часть документа.
Попробуйте этот пример в действии, обратите внимание что пока браузер не выполнит скрипт - он не может отобразить часть страницы после него.
alert(...)
Отображает окно с сообщением и ждет, пока посетитель не нажмет «Ок»
ри попытке сделать такой же файл у себя на диске и запустить, вы можете столкнуться с проблемой — выводятся «кракозяблы», «квадратики» и «вопросики» вместо русского текста.
Чтобы всё было хорошо, нужно:
Убедиться, что в HEAD есть строка <meta charset="utf-8">. Если вы будете открывать файл с диска, то именно он укажет браузеру кодировку.
Убедиться, что редактор сохранил файл в кодировке UTF-8, а не, скажем, вwindows-1251. На английском соответствующий параметр может называться «charset» или «encoding».
Указание кодировки — часть обычного HTML, к JavaScript не имеет отношения.
Если JavaScript-кода много — его выносят в отдельный файл, который подключается в HTML:
<script src="/path/to/script.js"></script>
Здесь /path/to/script.js - это абсолютный путь к файлу, содержащему скрипт (из корня сайта).
Браузер сам скачает скрипт и выполнит. В одном теге SCRIPT нельзя одновременно подключить внешний скрипт и указать код.
В зависимости от того, для чего вы делаете скрипт, понадобится работать с информацией.
Если это электронный магазин - то это товары, корзина. Если чат - посетители, сообщения и так далее.