JavaScript
Обычно используется как встраиваемый язык для программного доступа к объектам приложений.
Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
История
Первоначально язык назывался LiveScript и предназначался как для программирования на стороне клиента, так и для программирования на стороне сервера.
На синтаксис оказали влияние языки Си и Java, и, поскольку Java в то время было модным словом, 4 декабря 1995 года LiveScript переименовали в JavaScript, получив соответствующую лицензию у Sun.
История
В 1996 году компания Microsoft выпустила аналог языка JavaScript, названный JScript.
Первым браузером, поддерживающим эту реализацию был Internet Explorer 3.0.
По инициативе компании Netscape была проведена стандартизация языка ассоциацией ECMA.
Стандартизированная версия имеет название ECMAScript, описывается стандартом ECMA-262.
Первой версии спецификации соответствовал JavaScript версии 1.1, а также языки JScript и ScriptEasy.
Популярность JavaScript
В статье «Самый непонимаемый язык программирования в мире стал самым популярным в мире языком программирования» автор (Дуглас Крокфорд, 2008) утверждает, что лидирующую позицию JavaScript занял в связи с развитием AJAX, поскольку браузер стал превалирующей системой доставки приложений.
Он также констатирует растущую популярность JavaScript, то, что этот язык встраивается в приложения, отмечает значимость языка.
Согласно рейтингу Tiobe, базирующемуся на данных поисковых систем Google, MSN, Yahoo!, Википедия и YouTube, в сентябре 2010 года JavaScript находится на 11 месте (был 9).
Популярность JavaScript
По данным Black Duck Software в разработке открытого программного обеспечения доля использования JavaScript выросла.
36 % проектов, релизы которых состоялись с августа 2008 по август 2009 гг., включают JavaScript.
80 % открытого программного обеспечения использует Си, C++, Java, Shell и JavaScript. При этом JavaScript — единственный из этих языков, чья доля использования увеличилась (более чем на 2 процента, если считать в строках кода).
JavaScript является самым популярным языком программирования, используемым для разработки веб-приложений на стороне клиента.
Возможности JavaScript
JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками.
JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.
Возможности JavaScript
В языке отсутствуют некоторые полезные вещи:
модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;
стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных;
стандартные интерфейсы к веб-серверам и базам данных;
система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.
Ядро
ECMAScript не является браузерным языком и на самом деле в нём не определяются методы ввода и вывода информации.
Это скорее основа для построения скриптовых языков.
Спецификация ECMAScript описывает типы данных, инструкции, ключевые и зарезервированные слова, операторы, объекты, регулярные выражения, не ограничивая авторов производных языков в расширении их новыми составляющими.
Объектная модель браузера
Управление фреймами.
Поддержка задержки в исполнении кода и зацикливания с задержкой.
Системные диалоги.
Управление адресом открытой страницы.
Управление информацией о браузере.
Управление информацией о параметрах монитора.
Ограниченное управление историей просмотра страниц.
Поддержка работы с HTTP cookie.
Иерархия объектов в HTML DOM
Модель DOM не накладывает ограничений на структуру документа.
Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект.
Узлы связаны между собой отношениями родительский-дочерний.
JavaScript внутри тега
Спецификация HTML описывает набор атрибутов, используемых для задания обработчиков событий.
Пример использования:
Удалить
Веб-приложения
JavaScript используется в клиентской части веб-приложений: клиент-серверных программ, в котором клиентом выступает браузер, а сервером — веб-сервер, имеющих распределённую между сервером и клиентом логику.
Обмен информацией в веб-приложениях происходит по сети.
Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.
Букмарклеты
Изменение внешнего вида страницы (цвета, размер букв, и т. д.),
Извлечение данных из страницы, например, все ссылки или все используемые изображения,
Переход (для удобства обычно в новом окне) к результатам поиска выделенных на странице слов,
Создание страницы более удобной для чтения (увеличить шрифт, убрать яркий фон и мигающие элементы) и взаимодействия (расширить поля ввода, подчеркнуть все ссылки),
Помощь веб-разработчику — показать имена стилей, классов, свойства элементов, произвести операции с cookie.
Пользовательские скриптыв браузере
Пользовательские скрипты в браузере — это программы, написанные на JavaScript, выполняемые в браузере пользователя при загрузке страницы.
Они позволяют автоматически заполнять формы, переформатировать страницы, скрывать нежелательное содержимое и встраивать желательное для отображения содержимое, изменять поведение клиентской части веб-приложений, добавлять элементы управления на страницу и т.д.
Серверные приложения
Приложения, написанные на JavaScript, могут исполняться на серверах.
Это обстоятельство используется для построения серверных приложений, позволяющих обрабатывать JavaScript на стороне сервера.
JavaScript на стороне сервера используется в проектах Google.
Google Sites допускает подстройку с помощью JavaScript-сценариев, исполняемых движком Rhino.
Офисные приложения
JavaScript используется в офисных приложениях для автоматизации рутинных действий, написания макросов, организации доступа со стороны веб-служб.
JavaScript — один из языков программирования, используемых для написания макросов в приложениях, входящих в состав OpenOffice.org.
Обучение информатике
Язык обладает ценностью предварительного обучения, позволяя сочетать при обучении информатике интенсивную практику программирования и широту используемых технологий.
Преподавание данного языка в школе позволяет создать базу для изучения веб-программирования, использовать на уроках творческие проекты.
Поддержка браузерами
На сегодняшний день поддержку JavaScript обеспечивают современные версии всех наиболее часто используемых браузеров.
В Internet Explorer, Mozilla Firefox, Safari, Google Chrome, Opera имеется полная поддержка третьей редакции ECMA-262.
В Mozilla Firefox предпринята попытка осуществления поддержки четвёртой редакции спецификации, а первым браузером, в котором появилась неполная поддержка спецификации 3.1, явился Internet Explorer 8.
© ООО «Знанио»
С вами с 2009 года.