Опубликован: 10.12.2007 | Доступ: свободный | Студентов: 822 / 20 | Оценка: 5.00 / 5.00 | Длительность: 58:33:00
Лекция 5:

Скрипты

Аннотация: В этой лекции описывается язык JavaScript. Также в ней дается обзор многих служб платформы Mozilla, которые доступны из скриптов JavaScript. Приведены практические примеры составления программного кода на JavaScript
Ключевые слова: язык программирования, синтаксис, HTML, ПО, word, средняя сложность, Sybase, Oracle, python, сервер приложений, язык скриптов, visual, Basic, tcl, приложение, DOM, API, applicative programming, скрипт, XML, Internet, chrome, файл настроек, ANSI, AWK, процедурный язык, JVM, число с плавающей запятой, типизация, VBA, ECMA-262, ECMAScript, international standard, self-organizing, ECMA, PDF, 'compact', товарный знак, язык разметки, XML-документ, пробельный символ, перевод строки, возврат каретки, mac os, препроцессор, CPP, undefined, плавающая запятая, IEEE 754, погрешность, nan, infinity, действительное число, UTF-16, latin-1, автоматическое преобразование, явное преобразование, чувствительность к регистру, синтаксические ошибки, создание массива, ловушка, индекс массива, битовые операции, оператор перечисления, исключающее ИЛИ, логическое ИЛИ, условное выражение, управляющая конструкция, goto, обработка исключений, argument, расширенное регулярное выражение, regexp, split, matching, агрегация, инкапсуляция, множественное наследование, иерархия классов, создание функций, Спот, spot, LastName, интерфейс объекта, поиск объектов, базовый тип данных, базовый тип, математическая функция, шаблон регулярного выражения, prototyping, instance, объектная модель документа, бинарный оператор, куча, eval, setTimeout, setInterval, accumulate, subtotal, клонирование, реализация языка, foo, имя функции, scope, строгое соответствие, strictness, отказ в обслуживании, цифровой сертификат, партнерство, BOM, portable document, Offline, IDL, archiving, DHTML, firstChild, потомок, anode, SVG, html-редактор, подтип, core, traversal, D-AMPS, XSLT, DTDS, дерево документа, ITERATE, valid, Xpath, caps lock, abstract, сериализация, стандартное решение, circle, определение типа документа, текстовый процессор, CSS2, feature, Browser Object Model, object model, система команд, focused, DataSource, аплет, toolkit, JAR, XMLHttpRequest, IRC, extra, constructor, апплет, обратная совместимость, applet, RDF, координация, URN, асинхронное чтение, bag, %URI, sound, Bind, dump, стандартный вывод, дескриптор файла, keyword, deck, закрывающий тег, collapse, SVC, чтение файла, запись в файл, количество информации, set function, Report, debugger



JavaScript, несложный язык программирования с синтаксисом, напоминающим C-синтаксис, является существенной частью платформы Mozilla. Программы на JavaScript или их фрагменты называются сценариями, или скриптами. При добавлении скриптов XUL документы из документов, доступных только для чтения, становятся динамическими интерфейсами, которые могут выполнять какие-нибудь действия в ответ на команды пользователя. Написание скриптов - задача программиста, а не автора web-страницы или человека, предоставляющего для нее информацию. Приложения Mozilla могут разрабатываться только программистами.

В этой лекции описывается сам язык JavaScript. Также в ней дается обзор многих служб платформы Mozilla, которые доступны из скриптов JavaScript. В дальнейшем эти функции и службы будут рассматриваться более подробно. О JavaScript написано уже немало. В этой лекции нашего курса дается полное описание языка, хотя и очень сжатое.

Скрипты JavaScript, являющиеся частью приложения Mozilla, могут следовать одному или нескольким более традиционным стилям программирования в зависимости от амбициозности приложения.

Легкие приложения Mozilla содержат скрипты, похожие на скрипты web- страниц. В web-страницах такие скрипты часто добавляют к HTML- содержимому уже в самом конце разработки. Когда эти скрипты разрастаются, их иногда называют динамическим HTML. Но даже тогда они по сути дела просто переставляют части HTML-содержимого так, чтобы в целом все выглядело приятнее. Макросы, использующиеся в продуктах вроде Microsoft Word, такие же легкие.

В приложениях Mozilla средней сложности скрипты используются уже систематически. Другие похожие среды разработки этого класса - инструменты четвертого поколения, например PowerBuilder от Sybase или SQL*Forms от Oracle. В таких случаях скрипты несут ответственность за большую часть основной функциональности программного обеспечения. Использование языка Python в сервере приложений Zope - пример такого ПО с открытыми исходными текстами.

Очень сложные приложения Mozilla вроде среды разработки Komodo от ActiveState содержат столько скриптов, что они перевешивают базовую функциональность браузера платформы. В таких случаях JavaScript можно сравнить с другими самостоятельными средами языков скриптов вроде Visual Basic, Perl и Tcl/Tk или, возможно, elisp в Emacs. При таком тщательно продуманном программировании скрипты управляют платформой Mozillla от начала и до конца.

Однако чаще всего программисты создают приложения средней сложности. XUL, JavaScript, XPCOM и функциональность платформы, доступная по умолчанию, комбинируются в конечное приложение. JavaScript "цементирует" все используемые технологии.

На рисунке в начале этой лекции показаны те части Mozilla, которые наиболее важны для поддержки скриптов. Из этого рисунка видно, что JavaScript равноудален и от пользователя, и от операционной системы. Это так потому, что JavaScript и его скрипты - встроенные технологии, скрытые внутри другого программного обеспечения. Скрипты редко управляют Mozilla извне. Две самые важные части, XPConnect и DOM, находятся глубоко внутри платформы Mozilla. Они предоставляют большое число программных интерфейсов (API, Application Programming Interfaces), доступных всем JavaScript-скриптам. Разумное использование этих интерфейсов из скриптов - основная задача проектирования при разработке приложений на основе Mozilla. Имея возможность манипулировать этими интерфейсами, программист получает возможность писать более простой скрипт и не использовать сложные языки вроде C и C++.

Простейший вариант применения JavaScript требует XML и тега <script>. И для XUL-, и для HTML-документов следующая строчка изменит слова в строке заголовка окна документа:

<script> window.title = "Scripted Title"; </script>

Скрипты, подобные этому, могут менять любую часть отображаемого окна Mozilla, в том числе и любую часть его содержимого. Такие скрипты также неявно взаимодействуют и с внешним миром, в том числе с Internet. Само по себе содержимое тега <script> очень важно и требует специальной обработки, как и CSS-код внутри тега <style>.

Платформа Mozilla сама частично написана с использованием скриптов javaScript. Такие скрипты часто можно найти в chrome, хотя есть и несколько исключений, например файлы настроек не находятся в chrome. Так как chrome спроектирован для хранения приложений Mozilla, неудивительно, что там находится так много скриптов.

Перед углублением в синтаксис языка стоит задать вопрос: почему выбран JavaScript? Ответ на этот вопрос дается ниже.