Описание 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 нельзя одновременно подключить внешний скрипт и указать код.

В зависимости от того, для чего вы делаете скрипт, понадобится работать с информацией.

Если это электронный магазин - то это товары, корзина. Если чат - посетители, сообщения и так далее.