Омский Государственный Педагогический Университет
Кафедра информатики
Сравнительный анализ языков программирования JavaScript и VBScript
Проверил: Кирьякова И.В.
Выполнил: Поросков Д.В.
Группа: 34
Омск 2002
Содержание
Введение ….3
Общий обзор языка …4
Типы данных …5
Переменные …8
Операторы …10
Операторы управления …13
Процедуры …19
Объекты …21
Список литературы …24
Введение
Объектные модели языков сценариев тесно связаны с тэгами HTML. При загрузке страницы HTML в браузер интерпретатор языка создает объекты со свойствами, определенными значениями тэгов страницы. Говорят, что браузер отражает HTML-страницу в свойствах объектов, и иногда этот процесс называют отражением (reflection). Созданные объекты существуют в виде иерархической структуры, отражающей структуру самой HTML-страницы. На верхнем уровне расположен объект window, представляющий собой активное окно браузера. Далее вниз по иерархической лестнице следуют объекты frame, document, location и history, представляющие соответственно фрейм, непосредственно сам документ, адрес загружаемого документа и список ранее загружавшихся документов, и т.д. Значения свойств объектов отражают значения соответствующих параметров тэгов страницы или установленных системных параметров.
Для правильного использования объектных моделей следует четко понимать, как браузер компонует страницы и, тем самым, создает иерархия объектов. При загрузке страницы просматриваются сверху вниз, тем самым последовательно происходит компоновка страницы и ее отображение в окне браузера. А это означает, что и объектная модель страницы также формируется последовательно, по мере ее обработки. Поэтому невозможно обратится из сценария, расположенного ранее какой-либо формы на странице, к элементам этой формы. Всегда следует помнить о том, что браузер последовательно сверху вниз интерпретирует содержимое HTML-страницы.
Еще один аспект работы с объектами языков сценариев заключается в том, что нельзя изменить свойства объектов. Браузер обрабатывает страницу только один раз, компонуя и отображая ее. Поэтому попытка в сценарии изменить свойство отображенного элемента страницы, обречена на провал. Только повторная загрузка страницы приведет к желаемому результату.
Общий обзор языка
JavaScript
Язык программирования JavaScript разработан фирмой Netscape для создания интерактивных HTML-документов. Это объектно-ориентированный язык разработки встраиваемых приложений, выполняющих как на стороне клиента, так и на стороне сервера. Синтаксис языка очень похож на синтаксис языка Java – поэтому его часто называют Java-подобным. Клиентские приложения выполняются браузером просмотра Web-документов на машине пользователя, серверные приложения выполняются на сервере.
При разработке обоих типов приложений используется общий компонент языка, называемый ядром и включающий определения стандартных объектов и конструкций (переменные, функции, основные объекты и средство LiveConnect взаимодействия с Java-апплетами), и соответствующие компоненты дополнений языка, содержащие специфические для каждого типа приложений определения объектов.
Клиентские приложения непосредственно встраиваются в HTML-страницы и интерпретируются браузером по мере отображения частей документа в его окне. Серверные приложения для увеличения производительности предварительно компилируются в промежуточный байт-код.
Основные области использования языка JavaScript при создании интерактивных HTML-страниц:
· Динамическое создание документа с помощью сценария
· Оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер
· Создание динамических HTML-страниц совместно с каскадными таблицами стилей и объектной моделью документа
· Взаимодействие с пользователем при решении “локальных” задач, решаемых приложением JavaScript, встроенном в HTML-страницу
VBScript
Язык создания сценариев VBScript разработан фирмой Microsoft и является подмножеством достаточно распространенного в среде программистов языка Visual Basic разработки прикладных Windows-приложений. Как и его родитель, язык VBScript достаточно прост и легок в изучении.
Преимуществом его применения для создания сценариев является возможность использования, с небольшими корректировками, ранее написанных процедур на языках Visual Basic и Visual Basic for Application.
Функциональные возможности сценариев, написанных на VBScript, ничем не отличаются от возможностей сценариев JavaScript: динамическое создание документа или его частей, перехват и обработка событий и т.д.
VBScript используется для написания сценариев клиента (в этом случае браузер должен иметь встроенный интерпретатор этого языка), а также для написания сценариев на сервере (в этом случае сервер должен поддерживать язык VBScript). Для создания сценариев клиента используется набор объектов, аналогичный набору объектов JavaScript. Объекты клиента и сервера отличаются друг от друга, но существует общая часть (ядро) объектов, используемых при разработке как сценариев клиента, так и сценариев сервера.
Типы данных
JavaScript
Как и любой другой язык программирования, JavaScript использует переменные для хранения данных определенного типа. Реализация JavaScript является примером языка свободного использования типов. В нем не обязательно задавать тип переменной. Ее тип зависит от типа хранимых в ней данных, причем при изменении типа данных меняется и тип переменной.
JavaScript поддерживает четыре простых типа данных:
· Целый
· Вещественный
· Строковый
· Булевый, или логический
Для присваивания переменным значений основных типов применяются литералы – буквенные значения данных соответствующих типов.
Целые литералы являются последовательностью цифр и представляют обычные целые числа со знаком или без знака:
123 // целое положительное число
-123 // целое отрицательное число
+123 // целое положительное число
Для задания вещественных литералов используется синтаксис чисел с десятичной точкой, отделяющей дробную часть числа от целой, или запись вещественных чисел в научной нотации с указанием после символа “e” или “E” порядка числа. Пример правильных вещественных чисел:
1.25 0.125e01 12.5E-1 0.0125E+2
Строковый литерал – последовательность алфавитно-цифровых символов, заключенная в одинарные (‘) или двойные кавычки (“), например: “Ира”, ‘ИРА’. При задании строковых переменных нельзя смешивать одинарные и двойные кавычки. Недопустимо задавать строку, например, в виде “Ира’. Двойные кавычки – это один самостоятельный символ, а не последовательность двух символов одинарных кавычек. Если в строке нужно использовать символ кавычек, то строковый литерал необходимо заключать в кавычки противоположного вида:
“It’s a string” // Значение строки равно It’s a string
Булевы литералы имеют два значения: true и false, и используются для обработки ситуаций да/нет в операторах сравнения.
VBScript
В VBScript определен только один тип данных – Variant. Это универсальный тип, в котором можно хранить информацию, предоставленную другими типами данных, применяемыми в программировании, начиная от простейшего целого и заканчивая объектами.
В своем простейшем использовании тип Variant содержит либо числовые данные, либо символьные строки – типы данных, наиболее часто встречаемые при написании сценария. Реально содержащиеся в вариантом типе данные могут быть одного из типов, называемых подтипами типа Variant, представленных в табл.1.
Таблица 1. Подтипы данных, хранящихся в типе Variant
Подтип | Описание | Функция преобразования |
Empty | Переменная не инициализирована | |
Null | Переменная не содержит никаких допустимых данных | |
Error | Содержит номер ошибки | |
Boolean | Содержит значения либо True, либо False | CBool |
Byte | Содержит целые числа в диапазоне от 0 до 255 | CByte |
Integer | Содержит целые числа в диапазоне от -32 768 до 32 767 | CInt |
Currency | Значения в диапазоне от -922 337 203 685 477.5808 до 922 337 203 685 477.5807 | CCur |
Long | Содержит целые числа в диапазоне от -2 147 483 648 до 2 147 483 647 | CLng |
Single | Содержит вещественные числа с плавающей точкой одинарной точности в диапазоне от -3.402823E38 до -1.401298E-45 для отрицательных значений и от 1.401298E-45 до 3.402823E38 для положительных значений | CSng |
Double | Содержит вещественные числа с плавающей точкой удвоенной точности в диапазоне от -1.79769313486232E308 до -4.94065645841247E-324 для отрицательных значений и от 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений | CDbl |
Date(Time) | Содержит число, которое представляет дату в диапазоне от 1 января 100 года до 31 декабря 9999 года | CDate |
String | Содержит строку переменной длины (до 2 миллионов символов) | CStr |
Object | Содержит ссылку на объект |
Первые три подтипа, собственно говоря, не являются подтипами, а представляют значения, которые может принимать вариантный тип.