Использование скриптов JavaScript обусловлено желанием добавить функции, которых нет и не будет в HTML/CSS. Например, обработку ввода контактов (отправка на указанный email, выдача сообщений, автоматический обратный звонок). За счет мультипарадигменности язык JS способен выполнять разнотипные операции.
Современный JavaScript – это «безопасный» язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что изначально был создан для браузеров, не требующих этого.
Возможности JavaScript сильно зависят от окружения, в котором он работает. Например, Node.JS поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов и т.д.
В браузере для JavaScript доступно всё, что связано с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.
Например, в браузере JavaScript может:
• Добавлять новый HTML-код на страницу, изменять существующее содержимое, модифицировать стили. • Реагировать на действия пользователя, щелчки мыши, перемещения указателя, нажатия клавиш. • Отправлять сетевые запросы на удалённые сервера, скачивать и загружать файлы (технологии AJAX и COMET). • Получать и устанавливать куки, задавать вопросы посетителю, показывать сообщения. • Запоминать данные на стороне клиента («local storage»).