JavaScript: Возможности и ограничения
JavaScript
JavaScript – это интерпретируемый язык программирования, разработанный для взаимодействия с веб-страницами. JavaScript представляет собой реализацию ECMAScript. ECMAScript – это просто описание языка, который определён в стандарте ECMA-262.
JavaScript состоит из трёх частей:
- Ядро (ECMAScript) – базовая функциональность JavaScript.
- Объектная модель документа (Document Object Model, DOM) – средства для работы с содержимым веб-страниц.
- Объектная модель браузера (Browser Object Model, BOM) – средства для взаимодействия с браузером.
Клиентский JavaScript
В браузерах по умолчанию встроено специальное программное обеспечение, называемое интерпретатором JavaScript, это сделано для того, чтобы браузер мог выполнять написанный на языке JavaScript код. Как правило, JavaScript называют клиентским языком, подчеркивая тем самым, что сценарий исполняется на клиентском компьютере в браузере, а не на веб-сервере.
Возможности
Итак, небольшой список того, что позволяет JavaScript:
- Добавлять различные эффекты анимации
- Реагировать на события - обрабатывать перемещения указателя мыши, нажатие клавиш с клавиатуры
- Осуществлять проверку ввода данных в поля формы до отправки на сервер, что в свою очередь снимает дополнительную нагрузку с сервера
- Создавать и считывать cookie, извлекать данные о компьютере посетителя
- Определять браузер
- Изменять содержимое HTML-элементов, добавлять новые теги, изменять стили
Этим конечно же список не ограничивается, так как помимо перечисленного JavaScript позволяет делать и многое другое.
Ограничения
Существуют так же и некоторые ограничения, распространяемые на данный язык:
- JavaScript не может закрывать окна и вкладки, которые не были открыты с его помощью
- Не может защитить исходный код страницы и запретить копирование текста или изображений со страницы
- Не может осуществлять кроссдоменные запросы, получать доступ к веб-страницам, расположенным на другом домене. Даже когда страницы из разных доменов отображаются в одно и тоже время в разных вкладках браузера, то код JavaScript принадлежащий одному домену не будет иметь доступа к информации о веб-странице из другого домена. Это гарантирует безопасность частной информации, которая может быть известна владельцу домена, страница которого открыта в соседней вкладке
- Не имеет доступа к файлам, расположенным на компьютере пользователя, и доступа за пределы самой веб-страницы, единственным исключением являются файлы cookie, это небольшие текстовые файлы, которые JavaScript может записывать и считывать
В целом, можно сказать, что он разработан таким образом, чтобы затруднить выполнение вредоносного кода.