Java Script


serge - Posted on 09 Октябрь 2009

Учебник по JAVASCRIPT


JavaScript — скриптовый язык, чаще всего использующийся при создании сценариев поведения браузера, встраиваемых в веб-страницы. Является одной из реализаций языка ECMAScript.

Название «JavaScript» является зарегистрированным товарным знаком компании Sun Microsystems, Inc.

История

Предпосылкой появления языка JavaScript стало желание дать разработчикам HTML-документов возможность динамически управлять всеми объектами, описываемыми в коде Web-страницы. Разработанный Бренданом Айхом из компании Netscape язык был включён в браузер Netscape Navigator начиная с версии 2.0B3 в декабре 1995 года. Первоначально язык назывался Mocha, затем он был переименован в LiveScript. На синтаксис оказали влияние языки Си и Java, и, поскольку технология Java была в то время очень модной, LiveScript переименовали в JavaScript, получив соответствующую лицензию у Sun. Реализация компании Microsoft получила название JScript. Internet Explorer поддерживает JScript, начиная с версии 3.0, выпущенной в августе 1996 года. Стандартизация языка ассоциацией ECMA инициирована компанией Netscape. Стандартизированная версия имеет название ECMAScript, описывается стандартом ECMA-262. Первая версия данного стандарта примерно соответствовала JavaScript 1.1.

Возможности языка

JavaScript обладает рядом свойств объектно-ориентированного языка, но благодаря прототипированию поддержка объектов в нём отличается от традиционных ОО языков. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого уровня, объекты как списки, карринг (currying), анонимные функции, замыкания (closures) — что придаёт языку дополнительную гибкость.

JavaScript имеет C-подобный синтаксис, но по сравнению с языком С имеет следующие коренные отличия: объекты, с возможностью интроспекции и динамического изменения типа через механизм прототипов; функции как объекты первого класса; автоматическое приведение типов; автоматическая сборка мусора; анонимные функции.

Семантика и синтаксис

Синтаксис языка JavaScript во многом напоминает синтаксис Си и Java, семантически же язык гораздо ближе к Self, Smalltalk или даже Лиспу [Спецификация 1].

В JavaScript: все идентификаторы регистрозависимы, в названиях переменных можно использовать буквы, подчёркивание, символ доллара, арабские цифры, названия переменных не могут начинаться с цифры, для оформления однострочных комментариев используются //, многострочные и внутристрочные комментарии начинаются с /* и заканчиваются */.

Структура языка

Структурно JavaScript можно представить в виде объединения трёх чётко различимых друг от друга частей: ядро (ECMAScript), объектная модель документа (Document Object Model или DOM), объектная модель браузера (Browser Object Model или BOM).

Ядро

ECMAScript не является браузерным языком и на самом деле в нём не определяются методы ввода и вывода информации[3]. Это скорее основа для построения скриптовых языков. Спецификация ECMAScript описывает типы данных, инструкции, ключевые и зарезервированные слова, операторы, объекты, регулярные выражения, не ограничивая авторов производных языков от расширения их новыми составляющими.

Типы данных

В JavaScript поддерживаются пять примитивных типов данных: числовой (Number), строковый (String), логический (Boolean), нулевой (Null), неопределённый (Undefined).[Спецификация 2]

Числовой тип данных в JavaScript соответствует 64-битному формату чисел с плавающей запятой, определённому стандартом IEEE 754-2008 за исключением того, что различные значения Not-a-Number, определяемые в стандарте[4], представляются в данном языке единственным специальным значением NaN[Спецификация 3].

Нулевой и неопределённый типы данных Дэвидом Флэнаганом неформально причисляются к тривиальным типам, поскольку каждый из них определяет только одно значение.

Также в языке имеется составной тип данных: объектный (Object).

Помимо перечисленных шести типов данных в JavaScript имеется поддержка ещё трёх, используемых исключительно для хранения промежуточных результатов вычисляемых выражений[Спецификация 4]: ссылочный (Reference), списочный (List), заключительный (Completion).

При публикации использованы материалы Википедии

Поиск

Добавить сайт в Закладки

ОднаКнопка