1   2   3
Ім'я файлу: Об’єктна модель мови JavaScript_272179.doc
Розширення: doc
Розмір: 357кб.
Дата: 17.05.2022
скачати
Пов'язані файли:
Мова JavaScript та її можливості .docx


Мова програмування JavaScript

Вступ

Мова програмування JavaScript була розроблена Бренданом Ейком (Brendan Eich) в Netscape Communications як мова сценаріїв для оглядачів Netscape Navigator, починаючи з версії 2.0. В подальшому до розвитку цієї мови підключилася корпорація Microsoft, чиї Веб-оглядачі Internet Explorer підтримують JavaScript, починаючи з версії 3.0. Версія Microsoft отримала назву JScipt, оскільки JavaScript є зареєстрованою маркою фірми Netscape. У 1996 р. ECMA прийняла рішення про стандартизацію цієї мови, і в червні 1997 р. була прийнята перша версія стандарту під назвою ECMAScript (ECMA-262). У квітні 1998 р. цей стандарт був прийнятий ISO в якості міжнародного під номером ISO / IEC 16262. Робота грунтується на третій версії стандарту ECMA (грудень 1999 р.), але використовується назва JavaScript, а не ECMAScript з двох причин:

1. Ця назва є історично першою, і під нею дана мова найбільш відома широкому колу користувачів.

2. Відповідний тип MIME, а саме «text / javascript», розпізнається усіма оглядачами, які підтримують сценарії цією мовою, на відміну від JScript або ECMAScript. JavaScript – це об'єктно-орієнтована мова програмування, призначена для написання сценаріїв, що працюють як на стороні клієнта, так і на стороні сервера. Тому вона не є «повноцінною» мовою програмування, а орієнтована на використання можливостей того середовища, в якому сценарії виконуються. Браузер, який працює на комп'ютері-клієнті, забезпечує середовище, в якому JavaScript має доступ до об'єктів, які являють собою вікна, меню, діалоги, текстові області, фрейми, куки і введення-виведення в Веб-сторінку. Крім того, оглядач дозволяє приєднати сценарії на мові JavaScript до таких подій, як завантаження та вивантаження сторінок і графічних образів, натиснення клавіш і рух миші, вибір тексту і пересилання форм. При цьому програмний код сценаріїв тільки реагує на події і тому не має потреби в головній програмі. Набір об'єктів, що надаються оглядачем, відомий під назвою Document Object Model (DOM). Веб-сервер забезпечує інше середовище, в якому об'єктами є запити до баз даних, клієнти, файли і механізми блокування та обміну даними. Спільне використання сценаріїв і на стороні клієнта, і на стороні сервера дозволяє розподілити обчислення між ними і забезпечити бажаний для користувача інтерфейс для Веб-додатків.

Тема даного дослідження є досить актуальною, адже при розробці сучасного сайта не завжди можна обійтись лише можливостями мови розмітки HTML. З метою надання веб-сторінкам привабливого вигляду і створення у відвідувача відчуття взаємодії із сайтом використовують додаткові можливості, доступні при використанні Java-скриптів. Діапазон їх застосування досить широкий: це і елементи інтерактивності, які можуть містити складні процедури обробки, і просто декоративні елементи, які надають привабливості сайту. До того ж використання JAVA-Script дозволяє різноманітити і «пожвавити» представлення інформації.

Отже, метою даного дослідження буде освоєння мови Javascript, виявлення особливостей її об’єктної моделі, можливостей при створенні Web-документів і визначення її недоліків, виправлення яких і визначатиме тенденції подальшого розвитку мови. Об'єктом дослідження буде сама мова Javascript, її синтаксис, вбудовані функції, об'єкти, властивості і методи об'єктів. Предметом дослідження будуть можливості використання функцій, об'єктів, їх властивостей і методів для створення сценаріїв, покликаних забезпечити інтерактивність Web-страниц і розширити можливості надання інформації в Internet.



  1. Короткий опис


Javascript – це мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами, а сценарій (програма) на Javascript – це набір взаємодіючих об'єктів. Об'єкт Javascript – це неврегульований набір властивостей, кожна з яких має нуль або більше атрибутів, які визначають, як ця властивість може використовуватися. Javascript містить декілька вбудованих об'єктів, таких, як Global, Object, Error Function, Array, String, Boolean, Number, Math, Date, Regexp. Крім того, Javascript містить набір вбудованих операцій, які, строго кажучи, не обов'язково є функціями або методами, а також набір вбудованих операторів, керівників логікою виконання програм. Синтаксис Javascript в основному відповідає синтаксису мови Java, але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, наприклад, декларація змінної не містить її типу, властивості також не мають типів а декларація функції може стояти в тексті програми після її виклику. Мова Javascript, на відміну від мов Java і C++, не містить класів об'єктів в строгому сенсі слова. Замість цього вона підтримує конструктори, які створюють об'єкти шляхом виділення для них пам'яті і ініціалізації всіх або деяких їх властивостей. Всі конструктори є об'єктами, але не всі об'єкти є конструкторами. Кожен конструктор має властивість prototype, яке використовується для реалізації спадкоємства заснованого на прототипах, і властивостей, що розділяються. Javascript підтримує спадкоємство, засноване на прототипах. З кожним конструктором зв'язаний відповідний прототип, і кожен об'єкт, створений конструктором, містить неявне посилання на цей прототип (званий прототипом об'єкту). Прототип, в свою черга, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкту – це посилання на перший прототип в ланцюжку прототипів об'єкту, який містить властивість з даним ім'ям. Іншими словами, якщо даний об'єкт має властивість з даним ім'ям, то використовується посилання на цю властивість; якщо немає, то досліджується прототип цього об'єкту і так далі У об'єктно-орієнтованих мовах, заснованих на класах об'єктів, поточний стан реалізується екземплярами класів, методи реалізуються класами, а спадкоємство – структурою і поведінкою. У Javascript поточний стан і методи реалізуються об'єктами а структура і поведінка успадковуються. Всі об'єкти, які явно містять властивість, яка містить їх прототип, розділяють цю властивість і її значення. На відміну від мов заснованих на класах, властивості можуть динамічно додаватися до об'єктів шляхом привласнення ним значень. Зокрема, конструктори не зобов'язані привласнювати значення всім або деяким властивостям створюваного об'єкту. Властивості – це контейнери, які містять інші об'єкти, примітивні значення і методи. Примітивне значення – це елемент будь-якого з вбудованих типів: Undefined, Null, Boolean, Number і String; об'єкт – це елемент ще одного вбудованого типу Object; метод – функція, що асоціюється з об'єктом через властивість.



  1. Основи мови


2.1 Структура програм на мові Javascript
Програма (сценарій) на мові Javascript – це текст, що складається з операторів, блоків, тобто взаємозв'язаних наборів операторів, і коментарів. Оператори можуть містити змінні, константи і вирази.
function convert(inches) {

cm = inches * 2.54; // Цих двох операторів поміщено в блок.

meters = inches / 39.37;

} convert(inches); // Ці два оператори не утворюють блоку.

km = meters / 1000;
Кожен оператор Javascript починається з нового рядка (що не обов'язково) і закінчується крапкою з комою (що також не обов'язково, якщо оператор є останнім в рядку).

Блок – це набір операторів, ув'язнений у фігурні дужки {}.
2.2 Коментарі
Коментарі в Javascript можуть бути однорядковими і багаторядковими. Однорядкові коментарі починаються з символів // і продовжуються до кінця поточного рядка, як показано в приведеному вище прикладі. Багаторядкові коментарі полягають в маркери /* і */, наприклад:
/* Коментар

ще коментар */

2.3 Зарезервовані слова
Наступні імена є ключовими словами мови Javascript і не можуть вживатися як ідентифікатори:


break

delete

function

return

Typeof

case

do

if

switch

Var

catch

else

in

this

Void

continue

finally

instanceof

throw

While

default

for

new

try

With


Наступні імена є ключовими словами в пропонованих розширеннях мови Javascript і також не повинні уживатися як ідентифікатори в цілях сумісності з майбутніми версіями мови:


absract

double

implements

private

throws

boolean

enum

import

protected

transient

byte

export

int

public

volatile

char

extends

interface

short




class

final

long

static




const

float

native

super




debugger

goto

package

synchronized





2.4 Ідентифікатори
Ідентифікатори використовуються в Javascript як імена змінних. Вони можуть починатися з латинської букви, символу «$» (знак долара) або символу «_» (підкреслення) і повинні складатися з латинських букв, цифр і символів «$» і «_». Ідентифікатори не можуть співпадати із зарезервованими словами. Два ідентифікатори вважаються рівними, якщо вони текстуально співпадають; це означає, що Javascript проводить відмінність між рядковими і прописними буквами.

2.5 Декларація змінних
Змінні використовуються як символічні імена, що приймають різні значення. Імена змінних задаються ідентифікаторами. Змінна створюється у момент її декларації. Javascript дозволяє декларувати змінну двома способами:

• За допомогою ключового слова var, наприклад, var x; або var x = 21;.

• Просто присвоєнням змінній значення, наприклад x = 21;.

Якщо декларація змінної не містить присвоєння їй значення, то її значенням вважається undefined. Приклад:
var text;

if (text == undefined)

document.write («Текст не заданий»);

else

document.write («Текст:» + text);
В даному прикладі значення змінної text не визначене, тому буде виконаний перший оператор document.write.

У найзагальнішому вигляді декларація змінних має вигляд:
var ідентифікатор[=ініціалізатор]? [, ідентифікатор[=ініціалізатор]?]?

Приклад:

var а = 0, b, з = «текст», x, у = false;

2.6 Область дії змінних
Область дії змінної визначається положенням її декларації в тексті програми. Існують три типи виконуваного коду Javascript, що називаються контекстом виконання:

• Глобальний контекст, тобто початковий текст сценаріїв, не включаючи тіла функцій.

• Локальний контекст, тобто початковий текст сценаріїв, що є тілом функції, а також аргумент конструктора вбудованого об'єкту Function. Точніше кажучи, якщо останнім параметром конструктора Function є рядок тексту, то він інтерпретується як тіло функції.

• Eval-контекст, тобто аргумент методу eval. Якщо параметром методу eval є рядок тексту, то він інтерпретується як програма на мові Javascript, що має той же контекст, в якому був викликаний цей метод. Іншими словами, будь-яка змінна, що декларує поза тілом всіх функцій, є глобальною і доступна усюди в тексті даної програми. Змінна, що декларує в тілі функції, є локальною і доступна тільки усередині тіла цієї функції.

Для декларації глобальних змінних ключове слово var не обов'язково. Проте, воно обов'язкове при декларації локальних змінних.
2.7 Константи
Константи використовуються для завдання постійних значень. У Javascript є декілька типів констант, відповідних його вбудованим типам, а саме:

• нульова константа null типу Null;

• логічні константи true (істина) і false (брехня) типу Boolean;

• строкові константи типу String, наприклад, «Привіт всім!»;

• числові константи типу Number, наприклад, 21 або 3.1415926.

2.8 Типи даних
Мову Javascript містить шість типів даних: Undefined (невизначений), Null (нульовий), Boolean (логічний), String (строковий), Number (числовий) і Object (об'єктний). Це відносно невелика кількість типів дозволяє, проте, створювати повноцінні сценарії для виконання багатьох функцій.

Тип Undefined (невизначений)

Цей тип складається з єдиного значення undefined. Це значення, яке приймає змінна, яка оголошена в програмі, але якій ще не присвоєно ніяке значення.

Тип Null (нулевий)

Цей тип складається з єдиного значення null. Це значення означає нулеве, порожнє або неіснуюче посилання.

Тип Boolean (логічний)

Цей тип складається рівно з двох логічних значень: true (істина) і false (брехня).

Тип String (строковий)

Цей тип складається зі всіх можливих текстових рядків. Кожен рядок є впорядкованим масивом з нуля або більше символів Unicode (тобто 16-бітових цілих чисел без знаку), що називаються елементами рядка. Елементи рядка нумеруються, починаючи з нуля. Довжина рядка – це кількість елементів в ньому; порожній рядок складається з нуля елементів.

Тип Number (числовий)

Цей тип має рівно 18437736874454810627 (тобто 264 – 253 + 3) значень, відповідних 64-бітовому формату плаваючих чисел подвійної точності IEEE 754 з тим єдиним виключенням, що 9007199254740990 (тобто 253 – 2) різних значень «Не число» даного формату представляються в Javascript одним значенням NAN. Ще два спеціальні значення – це додатна нескінченність і від’ємна нескінченність, яким в Javascript відповідають вирази +Infinity (або просто Inifinity) і – infinity. Відзначимо також, що в даному форматі розрізняються додатний нуль (+0 або 0) і від’ємний нуль (-0).

Тип Object (об'єктний)

Значенням цього типу є об'єкти. Об'єкт – це неврегульований набір властивостей.
2.9 Перетворення типів
Javascript – слабо типізована мова. Це означає, що в декларації змінної ми не вказуємо її тип і надалі можемо присвоювати їй значення будь-яких типів. Виконуюча система Javascript сама виконує автоматичне перетворення типів даних в міру необхідності. Для явного перетворення типів використовуються методи Boolean, Number, Object і String.
2.10 Приклади неявних перетворень
У виразах, що сполучають числові і строкові значення операцією +, Javascript перетворить числа в рядки, наприклад:
x = «Відповідь рівна» + 21 // повертає «Відповідь рівний 21»

у = 21 + «– ось відповідь» // повертає «21 – ось відповідь»
У решті випадків Javascript намагається перетворити рядок в число, наприклад:
а = «21» – 1 // повертає 20
b = «21» + 1 // повертає 21

2.11 Вирази і операції
Вирази в Javascript, як і в інших мовах програмування, є комбінації змінних, констант і операцій, що дають осмислений результат. Цей результат може бути числом, текстовим рядком, логічним значенням або об'єктом.

Відповідно всі вирази Javascript підрозділяються на арифметичні, строкові, логічні і об'єктні. Існує два типи виразів: ті, які привласнюють значення деякої змінної (наприклад, x = 2 + 3), і ті, які просто мають якесь значення (наприклад, 2 + 3).

Перший тип виразів називається операціями привласнення. Всі операції в Javascript підрозділяються на наступні:

• операції порівняння;

• арифметичні операції;

• бітові операції;

• логічні операції;

• строкові операції;

• операції присвоювання;

• інші операції.
2.12 Пріоритети операцій

Операція

[] () ++ – – ! delete new typeof void

* /%

+ –

<< >> >>>

< <= > >= instanceof

==!= ===!==

&

^

|

&&

||

?:

= += -= *= /=%= <<= >>= >>>= &= ^= |=

,


  1   2   3

скачати

© Усі права захищені
написати до нас