Омський Державний Педагогічний Університет p>
Кафедра інформатики p>
реферат p>
Порівняльний аналіз мов програмування JavaScript і VBScript p>
Перевірив: Кирьякова І . В. p>
Виконав: Поросков Д.В. p>
Група: 34 p>
Омськ 2002
Зміст p>
Вступ ... .3
Загальний огляд мови ... 4
Типи даних ... 5
Змінні ... 8
Оператори ... 10
Оператори управління ... 13
Процедури ... 19
Об'єкти ... 21
Список літератури ... 24
Введення p>
Об'єктні моделі мов сценаріїв тісно пов'язані з тегами HTML. При завантаженністорінки HTML в браузер інтерпретатор мови створює об'єкти з властивостями,певними значеннями тегів сторінки. Кажуть, що браузер відображає HTML -сторінку у властивостях об'єктів, і іноді цей процес називають відображенням
(reflection). Створені об'єкти існують у вигляді ієрархічної структури,відображає структуру самої HTML-сторінки. На верхньому рівні розташованийоб'єкт window, що представляє собою активне вікно браузера. Далі вниз поієрархічній драбині слідують об'єкти frame, document, location та history,що представляють відповідно фрейм, безпосередньо сам документ, адресазавантаження документа і список раніше завантажувати документи, і т.д.
Значення властивостей об'єктів відображають значення відповідних параметрівтегів сторінки або встановлених системних параметрів. p>
Для правильного використання об'єктних моделей слід чітко розуміти, якбраузер компонує сторінки і, тим самим, створює ієрархія об'єктів. Призавантаженні сторінки проглядаються зверху вниз, тим самим послідовновідбувається компонування сторінки та її відображення у вікні браузера. А цеозначає, що і об'єктна модель сторінки також формуєтьсяпослідовно, у міру її обробки. Тому неможливо звернеться зсценарію, розташованого раніше будь-якої форми на сторінці, до елементівцієї форми. Завжди слід пам'ятати про те, що браузер послідовнозверху вниз інтерпретує вміст HTML-сторінки. p>
Ще один аспект роботи з об'єктами мов сценаріїв полягає в тому, щоне можна змінити властивості об'єктів. Браузер обробляє сторінку тількиодин раз, компонуючи і відображаючи її. Тому спроба в сценарії змінитивластивість відображеного елементу сторінки, приречена на провал. Тількиповторна завантаження сторінки призведе до бажаного результату.
Загальний огляд мови p>
JavaScript
Мова програмування JavaScript розроблений фірмою Netscape для створенняінтерактивних HTML-документів. Це об'єктно-орієнтована мова розробкивбудованих додатків, що виконують як на стороні клієнта, так і настороні сервера. Синтаксис мови дуже схожий на синтаксис мови Java --тому його часто називають Java-подібним. Клієнтські програми виконуютьсябраузером перегляду Web-документів на машині користувача, серверніпрограми виконуються на сервері. p>
При розробці обох типів додатків використовується загальний компонент мови,званий ядром і включає визначення стандартних об'єктів іконструкцій (змінні, функції, основні об'єкти і засіб LiveConnectвзаємодії з Java-апплетами), і відповідні компоненти додаткимови, що містять специфічні для кожного типу додатків визначенняоб'єктів. p>
Клієнтські додатки безпосередньо вбудовуються в HTML-сторінки іінтерпретуються браузером у міру відображення частин документа в його вікні.
Серверні програми для збільшення продуктивності попередньокомпілюються в проміжний байт-код. p>
Основні сфери використання мови JavaScript при створенні інтерактивних
HTML-сторінок:
. Динамічне створення документа за допомогою сценарію
. Оперативна перевірка достовірності заповнення користувачем полів форм p>
HTML до передачі їх на сервер
. Створення динамічних HTML-сторінок спільно з каскадними таблицями стилів і об'єктної моделлю документа
. Взаємодія з користувачем при вирішенні "локальних" завдань, що вирішуються додатком JavaScript, вбудованому в HTML-сторінку p>
VBScript
Мова створення сценаріїв VBScript розроблений фірмою Microsoft і єпідмножиною досить поширеного в середовищі програмістів мови
Visual Basic розробки прикладних Windows-додатків. Як і його батько,мову VBScript досить простий і легкий у вивченні. p>
Перевагою його застосування для створення сценаріїв є можливістьвикористання, з невеликими коригуваннями, раніше написаних процедур намовах Visual Basic і Visual Basic for Application. p>
Функціональні можливості сценаріїв, написаних на VBScript, нічим невідрізняються від можливостей сценаріїв JavaScript: динамічне створеннядокумента або його частин, перехоплення та обробка подій і т.д. p>
VBScript використовується для написання сценаріїв клієнта (у цьому випадкубраузері мають бути вбудований інтерпретатор цієї мови), а також длянаписання сценаріїв на сервері (в цьому випадку сервер повинен підтримуватимову VBScript). Для створення сценаріїв клієнта використовується набір об'єктів,аналогічний набору об'єктів JavaScript. Об'єкти клієнта і серверавідрізняються один від одного, але існує загальна частина (ядро) об'єктів,що використовуються при розробці як сценаріїв клієнта, так і сценаріїв сервера.
Типи даних p>
JavaScript
Як і будь-яку іншу мову програмування, JavaScript використовує зміннідля зберігання даних певного типу. Реалізація JavaScript єприкладом мови вільного використання типів. У ньому не обов'язковозадавати тип змінної. Її тип залежить від типу збережених у ній даних,причому при зміні типу даних змінюється і тип змінної. p>
JavaScript підтримує чотири простих типу даних:
. Цілий
. Речовий
. Рядок
. Булеві, або логічний p>
Для привласнення змінним значень основних типів застосовуються літерали --літерні значення даних відповідних типів. p>
Цілі літерали є послідовністю цифр і являють звичайніцілі числа зі знаком чи без знаку: p>
123// ціле позитивне число
-123// Негативне ціле число
123// ціле позитивне число p>
Для завдання речових літералів використовується синтаксис чисел здесяткового точкою, що відокремлює дробову частину числа від цілої, або записдійсних чисел в науковій нотації з зазначенням після символу "e" або "E"порядку числа. Приклад правильних дійсних чисел: p>
1.25 0.125e01 12.5E-1 0.0125E 2 p>
Рядковий літерал - послідовність алфавітно-цифрових символів,укладена в одинарні ( ') або подвійні лапки ( "), наприклад:" Іра ",
'ІРА'. При завданні строкових змінних не можна змішувати одинарні таподвійні лапки. Неприпустимо використання рядка, наприклад, у вигляді "Іра '.
Подвійні лапки - це один самостійний символ, а не послідовністьдвох символів одинарних лапок. Якщо в рядку потрібно використовувати символлапок, то строковий літерал необхідно брати в лапкипротилежного виду: p>
"It's a string"// Значення рядка дорівнює It's a string p>
Булеві літерали мають два значення: true і false, і використовуються дляобробки ситуацій так/ні в операторах порівняння. p>
VBScript
У VBScript визначений тільки один тип даних - Variant. Це універсальнийтип, в якому можна зберігати інформацію, надану іншими типамиданих, що застосовуються в програмуванні, починаючи від найпростішого цілого ізакінчуючи об'єктами. p>
У своєму найпростішому використанні тип Variant містить або числові дані,або символьні рядки - типи даних, найбільш часто зустрічаються принаписанні сценарію. Реально що містяться в варіантом типі дані можуть бутиодного з типів, званих підтипами типу Variant, представлених утабл.1. p>
Таблиця 1. Підтипи даних, що зберігаються в типі Variant p>
| Підтип | Опис | Функція |
| | | Перетвореннями |
| | | Я |
| Empty | змінна не ініціалізований | |
| Null | Змінна не містить ніяких допустимих | |
| | Даних | |
| Error | Містить номер помилки | |
| Boolean | Містить значення або True, або False | CBool |
| Byte | Містить цілі числа в діапазоні від 0 до 255 | CByte |
| Integer | Містить цілі числа в діапазоні від -32 768 до | CInt |
| | 32 767 | |
| Currency | Значення в діапазоні | CCur |
| | Від -922 337 203 685 477.5808 до | |
| | 922 337 203 685 477.5807 | |
| Long | Містить цілі числа в діапазоні | CLng |
| | Від -2 147 483 648 до 2 147 483 647 | |
| Single | Містить речові числа з плаваючою точкою | CSng |
| | Одинарної точності в діапазоні | |
| | Від-3.402823E38 до-1.401298E-45 | |
| | Для від'ємних значень | |
| | І від 1.401298E-45 до 3.402823E38 | |
| | Для позитивних значень | |
| Double | Містить речові числа з плаваючою точкою | CDbl |
| | Подвоєною точності в діапазоні | |
| | Від-1.79769313486232E308 до | |
| |-4.94065645841247E-324 | |
| | Для від'ємних значень | |
| | І від 4.94065645841247E-324 до | |
| | 1.79769313486232E308 | |
| | Для позитивних значень | |
| Date (Time) | Містить число, яке представляє дату в | CDate |
| | Діапазоні від 1 січня 100 року до 31 грудня | |
| | 9999 | |
| String | Містить рядок змінної довжини (до 2 | CStr |
| | Мільйонів символів) | |
| Object | Містить посилання на об'єкт | | p>
Перші три підтипи, власне кажучи, не є підтипами, апредставляють значення, які може приймати варіантний тип. p>
Значення Empty має змінна, яка була оголошена в операторі Dim
(див. нижче), але їй ще не привласнювали ніякого значення. Це значеннявважається рівним 0 у математичних операціях і рівним порожній рядок ( "") вопераціях з рядковими значеннями. p>
Значення Null означає, що змінна не містить даних. Його не слідплутати зі значенням Empty. Варіантна змінна може отримати значення
Null в результаті виконання деяких операцій над нею. Це значення можнапривласнити змінної, тоді як значення Empty - не можна. p>
Значення Error - це спеціальне значення, яке використовується длявказівки виникнення помилки у процедурі. p>
Кожен підтип даних задається за допомогою літералів. Числові літералиявляють собою цілі числа, дійсні числа з плаваючою абофіксованою точкою. Приклади числових літералів наведено нижче: p>
23 'Ціле число
-23.78 'Дійсне число з фіксованою точкою
-237.8E-1 'Дійсне число з плаваючою точкою p>
рядкові літерали задаються у вигляді послідовності символів, укладенихв подвійні лапки ("): p>
"Це рядковий літерал". p>
літерали дати і часу укладаються між символами числових знаків (#).< br>VBScript підтримує велике число форматів дати і часу. Наступніприклади показують правильні літерали дати і часу, що відповідають датою
10 червня 1999: p>
# 10-6-99 22:20 #
# 10/6/99 #
# 10/6/99 10:20 pm # p>
Внутрішньо літерали дати і часу представляються у вигляді дійснихчисел подвоєною точності. Ціла частина представляє кількість днів,що пройшли від дати 30 грудня 1899, а дрібна частина - час доби. p>
Булеві літерали True та False є константами цілого типу, що приймаютьвідповідно значення 1 та 0. Будь-яке числове значення, не рівне нулю,перетворюється функцією CBool в True, а нульове значення (ціле абодійсне) - в False. p>
варіантний тип даних при використанні у висловах в якості операндіврізноманітних операторів мови обробляється в залежності від підтипущо містяться в ньому даних. Наприклад, при використанні змінних цьоготипу даних в операторі додавання (+) результат залежить від того, якіпідтипи даних в них містяться. Якщо хоч би один з операндів міститьчисло, то результат буде сума значень двох змінних (вмістдругий операнда перетвориться до числовому підтипу), якщо обидва операндамістять рядкові дані, той результатом буде конкатенація рядків. p>
варіативний тип даних надає програмісту більш ефективний спосібобробки та зберігання даних, не турбуючись про тип збережених даних. Якщо,наприклад, при обчисленнях спочатку у змінній варіантного типузберігалося значення типу Byte (число в діапазоні від 0 до 255), і врезультаті виконання деяких дій це значення стало негативним,то просто зміниться подання цього числа в змінної (воно стане
Integer) і не виникає ніякої помилки. Правда, за це зручність доводитьсяплатити використовуваної пам'яттю: для варіантного типу даних незалежновід зберігається підтипу потрібно 16 байт пам'яті. p>
Іноді в деяких обчисленнях необхідно явно перетворити що міститься взмінної підтип в іншій. Для цього в VBScript є ряд функційперетворення у відповідні типи. У табл. 1 останній рядок міститьназви функцій перетворення у відповідний підтип. Ці функції вяк параметр приймають літерали, змінні та вирази.
Змінні p>
JavaScript
Кожна змінна має ім'я, яке повинно починатися з букви латинськогоалфавіту, або символу підкреслення "_", за яким йде будь-якакомбінація алфавітно-цифрових символів або символів підкреслення.
Наступні імена є допустимими іменами змінних p>
Temp1
MyFunction
_my_Method p>
Мова JavaScript чутливий до регістру. Це означає, що малі тапрописні літери алфавіту вважаються різними символами. p>
Визначити змінну можна двома способами:
. Оператором var
. Оператором привласнення (=) p>
Оператор var використовується як для завдання, так і для ініціалізаціїзмінної і має синтаксис: p>
var ім'я_змінної [= начальное_значеніе]; p>
Необов'язковий оператор присвоювання задає дані, які міститьзмінна. Їх тип визначає і тип змінної. Наприклад, наступнийоператор p>
var weekDay = "П'ятниця"; p>
задає змінну weekDay, присвоює їй строкове значення "П'ятниця", ітим самим визначає її тип як рядковий. p>
Якщо при визначенні змінної їй не присвоєно ніякого значення, то їїтип не визначений. Її тип буде визначений лише після того, як їй будеприсвоєно деяке значення оператором присвоювання =. p>
VBScript
Змінні використовуються для зберігання даних програми. Перш ніжзмінну можна буде використовувати, її необхідно оголосити. Це можназдійснити явним способом за допомогою оператора Dim, або неявним - простовикористовувати ім'я змінної в операторі присвоєння. Синтаксис оператораявного оголошення змінної наступний: p>
Dim ім'я_змінної p>
Параметр ім'я_змінної - ім'я Повідомляти змінні. Воно повинно починатисяз літери, не містити пробілів, крапку (.), знак оклику (!), атакож символів (@), (&), ($), (#) і не перевищувати довжину в 255 символів. p>
Мова VBScript не чутливий до регістру. Це означає, що в ньому нерозрізняються малі та великі літери. Тому, наприклад, і m, і M будутьпосилатися на одну і ту ж змінну, якщо використовуються якідентифікатора змінної. p>
Іноді в програмі необхідно задавати змінні, значення яких не можназмінювати. Такі змінні називаються іменованих констант. У VBScriptдля завдання констант існує оператор Const, що має наступнийсинтаксис: p>
Const conName = "Дмитро" 'Строкова константа
Const conPi = 3.1416 'Числова константа
Const conBirthDay = # 1-8-53 # 'Константа дати
Оператори p>
JavaScript
Оператор присвоювання розглядається як вираження привласнення, якеобчислюється рівним висловом правій частині, і в той же час, він привласнюєобчислена значення виразу змінної, заданий в лівій частиніоператора. p>
Арифметичні вирази створюються арифметичними операторами (табл. 2). p>
Таблиця 2. Арифметичні оператори p>
| Оператор | Назва |
| + | Складання |
| - | Віднімання |
| * | Множення |
|/| Розподіл |
|% | Залишок від ділення цілих чисел |
| + + | Збільшення значення змінної на одиницю |
| - | Зменшення значення змінної на одиницю | p>
Крім простого оператора присвоєння (=) існують скорочені формиоператорів присвоювання, поєднаних з арифметичними операторами, вяких виробляються арифметичні дії над лівими і правимиоперандами і результат присвоюється змінної, заданої лівим операндом.
Всі вони перераховані в табл. 3. P>
Таблиця 3. Скорочені оператори присвоювання p>
| Оператор | Значення |
| X * = Y | X = X * Y |
| X/= Y | X = X/Y |
| X + = Y | X = X + Y |
| X - = Y | X = X - Y |
| X% = Y | X = X% Y | p>
Для створення логічних виразів використовуються оператори порівняння талогічні оператори, що застосовуються до змінних будь-якого типу. p>
Оператори порівняння аналогічні таким в інших мовах програмування. Їхсписок представлений у табл. 4. P>
Таблиця 4. Оператори порівняння p>
| Оператор | Назва |
| == | Так само |
|! = | Не одно |
|> = | Більше або дорівнює |
| | Строго більше |
| <| Строго менше | p>
При використанні цих операторів у виразі воно обчислюється рівним true,якщо відповідне порівняння вірно, у противному випадку значення виразуодно false. p>
Логічні оператори представлені в табл. 5. У прикладах передбачається, щомінлива var1 = 'Кіт', var2 = 'Кіт', var3 = false. p>
Таблиця 5. Логічні оператори p>
| Оператор | Синтаксис | Опис | Приклад |
| & & (Логічне | вираж1 & & | Повертає вираж1, якщо | var1 & & var2 |
| I) | вираж2 | воно перетвориться або | (так само 'Кіт') |
| | | Одно false, інакше | |
| | | Вираж2 | var2 & & var3 |
| | | | |
| | | | (Так само false) |
| | | (Логічне | вираж1 | | | Повертає вираж1, якщо | var1 | | var2 |
| ЧИ) | вираж2 | воно перетвориться або | |
| | | Одно true, інакше вираж2 | (так само 'Кіт') |
| | | | |
| | | | Var3 | | var1 |
| | | | |
| | | | (Так само 'Кіт') |
| | | | |
| | | | Var3 | | false |
| | | | |
| | | | (Так само false) |
|! (логічне |! висловлю | Якщо висловлю одно true, |! var1 |
| НЕ) | | повертає false, якщо | (так само false) |
| | | Висловлю одно false, | |
| | | Повертає true |! Var3 |
| | | | (Так само true) | p>
Логічні оператори та оператори порівняння використовуються в операторах циклуі умови для перевірки завершення циклу або виконання певної групиоператорів. p>
рядкові оператори використовуються для створення рядкових виразів. У
JavaScript, власне кажучи, існує тільки один рядковий оператор --оператор конкатенації (з'єднання) строк (+), якщо не вважати скороченоюформи оператора присвоєння зі складанням (+=). Цей оператор приєднуєдо значення рядка першого операнда строкове значення друге, отримуючирезультат, рівний з'єднанню рядків: p>
string = "Моя" + "рядок";// Значення змінної string одно "Моястрока" p>
Умовний оператор є єдиним оператором, що використовують триоперанда. Його значенням є один з двох операндів, обумовленої зумови істинності третій. Його синтаксис такий: p>
(умова)? знач1: знач2; p>
Якщо операнд умова має значення true, то результатом обчисленняумовного оператора буде знач1, в іншому випадку - знач2. Наприклад,оператор p>
range = (mark p>