Скрипт мови JavaScript

Області застосування JavaScript. Об'єктна модель документа. Ієрархічна структура моделі та їх взаємозв'язки з іншими об'єктами. Іменування об'єктів і точковий синтаксис. Розміщення сценаріїв у документах. Способи визначення моменту запуску сценарію.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 20.08.2011
Размер файла 26,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Скрипт мови JavaScript

1. Області застосування JavaScript

За наявності складної задачі з управління елементами HTML в Web по допомогу до JavaScript має сенс звертатися в таких випадках:

- Перевірка коректності даних, введених у форму.

- Не використовуючі сервер CGI-програми. Тут вважається ситуація, коли потрібно або використовувати JavaScript для створення додатка, або застосовувати CGI-програми, що запускаються на сервері.

- Інтерактивна робота в динамічному HTML. Якщо елементи на сторінці мають жорстку прив'язку, то використовувати засоби DHTML і створювати сценарії для їх управління не варто.

- Створення прототипів CGI-сценаріїв. Іноді необхідно, щоб
CGI-програма була упроваджена в додаток, оскільки це потенційно усуває проблеми несумісності між типами і версіями брузерів. А ще простіше створити за допомогою JavaScript прототип CGI-програми.

- Розвантаження серверу. Якщо вами використовується дуже завантажений Web-вузол, то корисно відмовитися від частого звернення до CGI- програми на користь застосування сценаріїв JavaScript, що виконують ті ж дії.

- Надання динамізму «нерухомим» сторінкам.

- Створення «інтелектуальних» Web-сторінок.

2. Об'єктна модель документа

cкрипт сценарій javascript

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

Для того, щоб дозволити сценарію управляти всіма цими об'єктами, а також допомогти розробникам сторінок якось упорядкувати величезну кількість об'єктів на сторінках, творці броузерів створили об'єктну модель документа (document object model або DOM). Ця модель є чимось на зразок прототипу або структури організації об'єктів на сторінці.

Включені в броузери об'єктні моделі значно вдосконалені в останніх версіях броузерів.

Властивості об'єктної моделі, які доступні в одній версії броузера або броузерах одного виробника, дуже добре використовувати в тому випадку, якщо відомо, що аудиторія, на яку розрахований даний програмний продукт, використовує виключно цей тип або версії броузерів (наприклад, в корпоративній мережі). Зусилля всіляких організацій з розробки стандартів призвели до створення специфікацій для синтаксису і набору властивостей об'єктних моделей, що забезпечило, в порівнянні з оригінальними розробками, велику гнучкість. Найбільшим удосконаленням є те, що елемент HTML став об'єктом, який сценарії можуть використовувати повністю на свій розсуд (ця можливість подана ще в об'єктній моделі IE 4). Концепція DOM, побудована на основі стандартної об'єктної моделі, реалізована, з різним ступенем підтримки в броузерах IE 5+ і NN 6+ (в останньому випадку W3C DOM витриманий набагато сильніше). Якби на ринку домінували виключно броузери, які підтримують стандарт W3C DOM, то це дозволило б набагато простіше, ніж зараз створювати міжброузерне рішення і високодинамічні документи.

3. Ієрархічна структура моделі

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

Розглянемо ключові об'єкти і їх взаємозв'язки з іншими об'єктами.

Об'єкт вікна. Вверху ієрархічної структури знаходиться вікно (window). Цей об'єкт являє ту частину вікна браузера, в якій відображується вміст HTML-документа. У багатофреймовому середовищі кожен фрейм (або кадр) також є вікном. Оскільки всі події, що відносяться до документа, відбуваються саме у вікні, то воно - це найзагальніший елемент в ієрархічній структурі об'єктів. У ньому, в буквальному розумінні, розміщений документ.

Об'єкт документа. Кожен HTML-документ, завантажуваний у вікно броузера, стає об'єктом document (документ). В ієрархічній структурі положення об'єкта документа є дуже важливим. В об'єкті document міститься більшість решти типів об'єктів моделі, тобто в документі знаходиться все, що використовується в сценарії.

Об'єкт форми. Користувач не бачить на сторінці ні початку, ні закінчення форми, тільки її елементи. Але форма є особливим способом організації вмісту HTML-документа. Все, що знаходиться між дескрипторами <form> … </form>, є частиною об'єкта форми. У документі, якщо це продиктовано розумними міркуваннями, може використовуватися більше однієї пари дескрипторів форми <form>. Якщо це так, то структура об'єктів даного конкретного документа міститиме два або більше об'єктів форми замість одного.

Елементи управління форми. Точно так, як і елементи форми в HTML визначаються усередині пари дескрипторів <form> … </form>, також в об'єктах форми визначаються елементи цих об'єктів. Кожний з таких елементів форми - текстові поля, кнопки, перемикачі, прапорці і списки - це окремі об'єкти. На відміну від узагальненої моделі, кінцева модель для різних документів залежить від використовуваних в цьому документі дескрипторів HTML.

4. Іменування об'єктів, точковий синтаксис

Якнайкращий спосіб створення в сценаріях посилань на об'єкти полягає в тому, щоб привласнити кожному керованому в документі HTML-об'єкту, в сценарії власна назва. Підтримуючі сценарії броузери, такі, як останні версії Navigator і Internet Explorer, застосовують необов'язкові атрибути дескрипторів з назвою Name. Цей атрибут дозволяє привласнювати кожному об'єкту власне ім'я.

<form name="имя формы"> … </form>

При привласненні назв (або імен, а ще їх іноді називають ідентифікаторами), дотримуються таких правил:

- назви не можуть містити пропуски;

- в назвах не мають використовуватися символи пунктуації, за виключенням символів підкреслення;

- при їх привласненні як значення атрибуту Name вони повинні братися в лапки;

- назви не повинні починатися з цифри.

Специфікація HTML 4.0 має на увазі новий спосіб привласнення ідентифікаторів елементам HTML. Для цього використовується атрибут ID. Даний атрибут ID дуже корисний в деяких ситуаціях під час роботи з каскадними таблицями стилів (Cascading Style Sheets - CSS) і динамічним HTML. Але навіть при цьому атрибут Name є незамінним при використовуванні основних елементів, наприклад, елементи Frame, Form і Input. Останні версії броузерів можуть отримувати доступ до об'єктів по назві або ідентифікатору ID. Але розробники вважають за краще в основному для об'єктів елементів HTML використовувати атрибут ID.

У JavaScript крапка використовується для розділення елементів ієрархічного посилання. Ця угода була взята з мови Java, записи якого, у свою чергу, засновані на тих, що використовуються в С. Кожне посилання звичайно починається з найглобальнішого рівня - для програмних продуктів клієнта, розроблених в JavaScript, це вікно, - і далі з використанням крапки (.) як роздільник виконується все велика конкретизація посилання.

5. Властивості. Методи. Обробники подій

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

Властивість об'єкта - це характеристика об'єкта. Завдяки властивостям ми можемо ідентифікувати об'єкт. Кожній властивості відповідає певне значення (навіть якщо це значення не визначено, то властивість рівна null). Під час написання коду HTML для використовування в підтримуючих сценарії в броузерах властивості об'єктів встановлюються навіть без явного використовування коду JavaScript - хоча це і не так важливо. Найзагальніший спосіб початкової установки властивостей об'єктів HTML полягає у використовуванні атрибутів дескрипторів. Підключення JavaScript дозволяє використовувати додаткові атрибути, початкові значення яких можна задати під час завантаження документа. Наприклад, наступний дескриптор HTML використовується для того, щоб визначити об'єкт кнопки button. Тут же привласнюються значення для двох властивостей:

<input type="button" name="clicker" value="Hit Me…"></input>

Кнопка насправді володіє великою кількістю властивостей в даному прикладі, проте вказувати їх зовсім не обов'язково, також як і наведені. Для більшості властивостей передбачено використовувані за умовчанням значення.

Значення деяких властивостей може бути змінене в процесі завантаження документа і взаємодії користувача із сторінкою. Розглянемо такий приклад з використанням дескриптора опису текстового поля:

<input type="text" name="enrty" value=""User Name?></input>

Властивість Name даного об'єкта має значення entry. Коли відбувається завантаження сторінки, текстове значення атрибуту Value буде виведене в текстовому полі. Це приклад поведінки текстового поля в HTML з використанням атрибуту Value. Але, якщо користувач введе в текстове поле щось інше, то значення властивості Value зміниться - проте не в HTML, а в підтримуваній броузером копії об'єктної моделі, що зберігається в пам'яті. Тому, якщо сценарій звертається до текстового поля з метою отримання значення властивості Value, броузер видасть поточне значення властивості. У випадку, якщо користувачем вносилися зміни в текст, то це буде далеко не те значення, що вказане в коді HTML.

Для отримання доступу до властивості об'єкта використовується той самий тип синтаксису з використанням крапок, що і в ієрархічній структурі, описаній раніше для об'єктів. Кожна властивість належить своєму об'єкту, а посилання на властивість складається з посилання на даний об'єкт плюс ще одне додаткове розширення, що вказує на потрібну властивість. Тому для описаних вище дескрипторів кнопок і текстових об'єктів посилання на різні їх властивості виглядають так:

document . ім'яФорми . ім'яОб'єктаФорми . властивістьОб'єктаФорми

Оскільки одне вікно може містити тільки один документ, то в посиланні на об'єкт або його властивість в поточному вікні window можна не вказувати.

Методи. З об'єктом можна пов'язати будь-яке число методів (або їх може не бути взагалі). Щоб задіювати метод (викликати метод), в операторі JavaScript потрібно зробити на нього посилання - через відповідний об'єкт з використовуванням після назви методу пари дужок, - як це показано у прикладі:

document . orderForm . submit ()

Сценарій використаний для того, щоб шляхом клацання на кнопці Submit (Відправити) відправити форму (яка називається orderForm) на сервер.

У деяких випадках, щоб метод міг виконати потрібне завдання, йому необхідно повідомити деяку додаткову інформацію. Кожна порція такого роду даних, передаваних методу, називається параметром або аргументом. Нижче наведено приклад використовування параметрів. Там задіяний метод write () об'єкту document.

document.write("Версія цього броузера " + navigator.appVersion)

document.write(" корпорації <b>" + navigator.appName + "</b>.")

Після того, як сторінка завантажується в броузер, кожен метод document.write() відправляє в поточний документ весь текст, що міститься в дужках. В обох наведених прикладах вміст буде відправлений як параметр, що складається із звичного тексту (взятого в лапки) і значення двох властивостей об'єкта: це властивості appVersion і appName об'єкта navigator. До речі об'єкт navigator не показаний в ієрархічній структурі об'єктів, оскільки в ранніх версіях броузерів цей об'єкт не включався в об'єктну модель документа.

Деяким методам потрібно вказувати більше одного параметра. В цьому випадку параметри потрібно відділяти один від одного комами.

window . moveTo (50,100)

У міру вивчення особливостей роботи в JavaScript і описуваних об'єктів документа, слід звертати особливу увагу на ті методи, які застосовані для кожного подібного об'єкта. Це допомагає визначати, що може робити об'єкт і як ним можна управляти в сценаріях.

Обробники подій.Ще однією важливою характеристикою об'єктів у JavaScript є обробники подій. Подіями називається все, що відбувається в документі. Як правило, це результат дій користувача. Загальним прикладом дій користувача, продукуючих події, є клацання мишкою на кнопці або введення в текстове поле символу. Інші події, на зразок процесу завантаження документа у вікно броузера або поява помилки під час завантаження зображення, такими очевидними не є.

Щоб визначити, чи повинен якось реагувати об'єкт на подію, існує додатковий атрибут, який вводиться в HTML при описі об'єкта. Цей атрибут складається з назви події, знаку рівності (як і будь-який інший атрибут в HTML), після якого прямує інструкція, яка вказує, що потрібно робити при настанні конкретної події. Нижче наведено приклад дуже простого документа, в якому відображується всього одна кнопка, для якої визначений єдиний обробник події:

<html>

<body>

<form>

<input type="button" value="Натисни мене !!!" onClick="window.alert('Привіт !') ">

</form>

</body>

</html>

Опис форми зовні нічим не відрізняється. Проте слід звернути увагу на останній атрибут onClick="window.alert('Привіт !')". Об'єкти кнопок реагують на клацання мишкою. Коли користувач клацає по кнопці, броузер відправляє кнопці повідомлення про клацання. В описі цієї кнопки за допомогою спеціального атрибуту вказано, що коли б кнопка не одержала такого повідомлення, вона має задіювати один з методів об'єкта window під назвою alert(). Метод alert() відображує звичне діалогове вікно попередження, вмістом якого є текст, вказаний як параметр даного методу. Як і більшість аргументів атрибутів HTML, значення в правій частині після знаку рівності беруться в лапки. Якщо при цьому потрібно ще раз використовувати лапки, як це притаманно в даному випадку, коли як параметр передається ще і текст, то як такі внутрішні роздільники використовуються одинарні лапки. У принципі, для JavaScript великої різниці немає, чи є лапки одинарними або подвійними. Просто потрібно дотримуватися принципу відповідності типів лапок. Це означає, що можна описати згадуваний атрибут і так:

onClick='alert("Привіт !")'

6. Розміщення сценаріїв у документах

Щоб броузер міг взнати ті рядки коду, в документі HTML, які відповідають сценарію, цей код слід виділити за допомогою дескрипторів <script> … </script>. Такий підхід є загальним у HTML.

Для управління сценарієм в дескрипторі <script> можна використовувати різні атрибути, які залежать від типу використовуваного броузера. Один з атрибутів, підтримуваний броузерами, що управляють сценаріями, - це language. Цей атрибут надзвичайно важливий, оскільки в різних типах і версіях броузерів указуються різні параметри для використовуваної мови написання сценаріїв. Один з параметрів, який сприймають всі підтримуючі сценарії броузери - «JavaScript».

У специфікації HTML 4.0 атрибут визначення мови сценаріїв Language не підтримується. Замість нього пропонується використовувати атрибут Type. Значення для цього атрибуту задається в стандарті MIME (Multipurpose Internet Mail Extensions). Робиться це таким чином: type="text/javascript". Атрибут Type підтримують тільки ті броузери, які відповідають стандарту W3C DOM (наприклад, IE5+ і NN6+). Разом з тим, атрибут Language все ще використовується і використовуватиметься досить довго. Тому у всіх прикладах нами використовується атрибут language.

Інші значення атрибуту Language - JavaScript № версії, JScript компанії Microsoft або VBScript.

Є ще один атрибут, який використовується в коді для того, щоб включати вміст зовнішнього файла з сценарієм у поточний документ. Атрибут Src указує на файл, що містить код сценарію. Такі файли повинні мати розширення .js. Дескриптор виглядатиме таким чином:

<script language="JavaScript" src="назваФайлу.js"></script>

Дескриптори сценаріїв можна розміщувати в документах між дескрипторами <head> … </head> або <body> … </body> або і там і там одночасно.

<html>

<head>

<title></title>

<script language="JavaScript" type="text/javascript">

//рядки коду …

</script>

</head>

<body>

<script language="JavaScript" type="text/javascript">

//рядки коду …

</script>

</body>

</html>

Не існує обмежень на те, скільки дескрипторів сценарію розміщувати в розділах заголовка і тіла документа. У документ можна включати стільки дескрипторів <script> скільки того вимагає додаток.

Віртуально кожен рядок коду, розташований між парою дескрипторів <script> … </script>, є оператором JavaScript.

Основні задачі, виконувані операторами, є такі:

- визначити або ініціалізувати змінну;

- привласнити значення властивості або змінній;

- змінити значення властивості або змінної;

- запустити функціональну програму;

- ухвалити рішення.

Запуск сценарію. Залежно від цілей, з якими використовується сценарій, існує чотири способи визначення моменту запуску сценарію:

- при завантаженні документа;

- відразу після завантаження документа;

- у відповідь на дії користувача;

- при виклику в результаті виконання оператора іншого сценарію.

Основи програмування.

На програмному рівні всі оператори, використовувані для ухвалення рішень, а також пов'язані з ними циклічні команди повторення називаються структурами управління (або управляючими структурами). Структури управління, за допомогою послідовності операторів сценарію, направляють потік обробки даних в потрібному напрямі. В основі використовуваних методів лежить схема ухвалення простих рішень й інших чинників.

Важливою частиною кожної управляючої структури є умовний оператор. Програма іноді містить умовні вирази, які можуть приймати значення True або False - одне з логічних значень булевого типу. Як правило, як подібні умовні конструкції використовуються ті, що містять в собі оператор порівняння. У програмуванні як правило порівнюються числа і рядки. Для різних програмованих ситуацій в JavaScript передбачені різні типи управляючих структур. Три найчастіше використовувані подібні структури - це умовний оператор if, умовний оператор if…else і оператор циклу for.

Існують інші управляючі структури, але деякі з них відносяться виключно до надбання Netscape і IE.

Найпростіший приклад ухвалення рішення в програмі - це ситуація, в якій залежно від справедливості певної умови в програмі вибирається той або інший алгоритм дій. Формальний синтаксис відповідної структури наведений нижче.

if (умова) {

оператор[и], виконуваний[е], якщо умова справедлива

}

Ключове слово If є обов'язковим. У круглих дужках вводиться вираз, значення якого має булевий тип. Це саме та умова, яка перевіряється при підході процесу виконання програми до даного місця. Якщо значення виразу рівне True (істина), то буде виконаний оператор або оператори, укладені у фігурні дужки, а після цього програма перейде до оператора, який знаходиться після закриваючої фігурної дужки. Якщо значення виразу рівне False (брехня), то оператори усередині фігурних дужок ігноруються і процес продовжується з першого оператора після закриваючої фігурної дужки.

У наведеному далі прикладі вважається, що змінна myAge має значення, задане їй раніше в сценарії (як саме, в даному випадку неважливо). В умовному виразі здійснюється перевірка порівняння значення змінної myAge з числом 18.

if (myAge < 18) {

alert ("Вибачте, ви ще молоді.")

}

Тип даних значення myAge має відповідати числу, щоб процес порівняння (за допомогою оператора порівняння <) вироблявся коректно. У всіх випадках, коли значення myAge менше 18, оператор у фігурних дужках буде виконаний, внаслідок чого на екрані з'явиться вікно попередження, виконання сценарію буде продовжене з того оператора, який розташований безпосередньо після фігурної дужки, що закриває умовного оператора.

Не всі рішення в програмах ухвалюються так просто, як це показано вище на прикладі умовного оператора If. Замість того, щоб визначати конкретний маршрут виконання програми тільки у разі виконання або невиконання умови, часто зручно явно вказати два шляхи виконання програми залежно від того, виконується умова чи ні. Це не дуже помітна, але дуже важлива відмінність. У стандартному умовному операторі If у тому випадку, якщо значення контрольного виразу рівне False, ніякий спеціальний оператор не виконується. У разі ж, якщо і при негативній відповіді при перевірці умовного виразу (значення False) потрібно виконати набір певних дій, використовується конструкція if...else. Синтаксис цієї умовної конструкції наведений нижче.

if (умова) {

оператор[и] виконуваний[і], якщо умова=true

} else {

оператор[и] виконуваний[і], якщо умова=false

Тут наведено все, що вже відомо про конструкцію If. Головною відмінністю від розглянутого вище випадку є тільки наявність ключового слова Else. Воно введене для того, щоб вказати альтернативний шлях виконання програми в тому випадку, якщо значення умови, що перевіряється, рівне False.

Цикли. У реальному житті цикли означають повторення послідовності певних кроків або дій до тих пір, поки не виконається певна умова. Саме ця умова дозволяє розірвати зачароване коло повторень.

Цикл дає сценарію інструкцію періодично повторювати послідовність дій до тих пір, поки не буде виконано певну умову. Наприклад, програма JavaScript перевірки правильності даних може аналізувати кожен символ, що вводиться користувачем у текстовому полі, щоб переконатися в приналежності його до числових даних. Або, якщо у вас є набір даних, збережених у вигляді списку, то в циклі можна перевіряти, де в цьому списку розташовується введений символ. Як тільки умова виконалася, сценарій припиняє виконання циклу і продовжує роботу з наступною після останнього оператора циклу інструкцією.

Найчастіше використовуваною в JavaScript циклічною структурою є оператор For. Він одержав свою назву за першим словом використовуваного в ньому оператора. Оператор циклу For є могутнім програмним засобом, оскільки з його допомогою можна багато раз підряд виконувати найскладніші оператори. Використовується цей оператор таким чином.

for ([початковий вираз]; [умова]; [вираз оновлення]) {

оператори всередині циклу

}

Квадратні дужки вказують на те, що розташовані в них параметри не обов'язкові для введення. Проте, поки у вас немає твердих навичок використовування оператора циклу For, хотілося б порекомендувати використовувати ці опції у кожному випадку. Розділ [початковий вираз] звичайно використовується для того, щоб встановити початкове значення для лічильника циклу. Під умовою вважається такий вираз, що використовувався в умовній конструкції If. У даному випадку цей вираз визначає умову, при настанні якого виконання циклу припиняється. Нарешті, [вираз оновлення] є оператором, який виконується щоразу після виконання всіх вставлених в тіло циклу операторів. Загальний принцип використовування циклу має на увазі ініціалізацію змінної i, значення якої постійно збільшується протягом виконання циклу. Так продовжується до тих пір, поки це значення не перевищить деякої максимальної величини, як це показано в прикладі:

for (var i = startValue; i <= maxValue; i++) {

оператори циклу

}

Під startValue і maxValue в даному випадку вважається довільне числове значення, включаючи задані явно числа або змінні з числовими значеннями. У виразі оновлення використаний оператор, з яким до цього стикатися не доводилося. Оператор ++ збільшує значення i на 1 щоразу після виконання тіла циклу. Взагалі кажучи, вирази в тілі циклу можуть також використовувати значення змінної лічильника. Водночас, дуже важливо знати, як передчасно перервати виконання циклу і, особливо, в яких ситуаціях подібне переривання може знадобитися.

Функції. Під функцією розуміють набір приречених дій. Функції використовуються обробниками подій або операторами повсюдно в сценарії. Де це тільки можливо, всі хоч трохи складні набори операторів слід організовувати у функції, щоб згодом використовувати в інших документах. Функції - це ті будівельні блоки, які використовуються багато разів.

На відміну від інших мов, де використовується розділення на процедури (у яких виконуються послідовності дій) і функції (у яких виконуються дії і як результат обов'язково повертається значення), в JavaScript подібного розділення немає. Функція в JavaScript може повертати значення в зухвалого її оператора, проте ця вимога не є обов'язковою. Проте, коли під час використовування функції значення все ж таки повертається, зухвалий її оператор трактує цю функцію як звичний вираз - значення функції використовується саме в тому місці, звідки ця функція викликана.

Формальний синтаксис функцій виглядає так:

function ім'яФункції ([параметр1] ... [параметрN]) {

оператори

}

На імена, які привласнюються функціям, накладаються ті ж обмеження, що і на назви елементів і змінних HTML. Можна порекомендувати використовувати таку назву для функції, яке відображало б задачі, що покладаються на неї. В цьому випадку назву краще починати з дієслова, оскільки функція виконує дію, навіть якщо все, що вона робить, - це одержує або встановлює значення певної змінної.

Дуже корисно при написанні функцій задавати їй вузьку спеціалізацію. В принципі, можна згенерувати функцію завдовжки в декілька сотень рядків коду. Проте такі функції важко обслуговувати і відлагоджувати. Тому такі величезні конструкції краще розбивати на невеликі, більш сегментовані структури.

Будь-який виклик функції, включаючи і функції з інших операторів JavaScript, здійснюється за однією і тією же схемою: в кінці назви кожної функції ідуть дужки.

Можна визначити функцію так, що вона набуватиме значення своїх параметрів безпосередньо із зухвалого її оператора. Нижче показаний приклад документа, в який додана кнопка. Обробник події onClick цієї кнопки викликає функцію, передаючи їй при цьому текстові дані як параметр. Текстовий рядок, використовуваний у виклику обробником події є вкладеним рядком - це набір одинарних лапок усередині подвійних лапок, використовуваних у зовнішніх атрибутах обробника подій.

<html>

<head>

<title></title>

<script language="JavaScript">

function showMsg (msg) {

alert ("Кнопка говорить:" + msg)

}

</script>

</head>

<body>

<form>

<input type="button" value="Click Me" onClick="showMsg ('Кнопка натиснута!') ">

</form>

<body>

</html>

Параметри (відомі також як аргументи) покликані забезпечити механізм «передачі» значення від одного оператора до іншого в процесі виклику і виконання функції. Якщо і в описі функції при її виклику використовується порожня пара дужок.

Діапазон дії змінних. Змінні можуть визначатися як усередині функцій, так і поза ними. Змінні, визначені поза функціями, називаються глобальними змінними. Змінні ж, визначені в рамках функцій, називаються локальними змінними.

Глобальні змінні в JavaScript мають абсолютно інше, особливе значення, в порівнянні з більшістю інших мов. Для JavaScript межі глобальності для змінних тягнуться до розмірів поточного документа, завантаженого у вікно броузера. Тому ініціалізація змінної як глобальна вважає, що всі оператори сторінки (включаючи і ті, що розташовані в описі функції) отримують прямий доступ до значення цієї змінної. Оператори можуть відновлювати і змінювати значення глобальних змінних в будь-якому місці сторінки. Використовуючи термінологію програмування, можна сказати, що ці змінні мають глобальну область дії, оскільки буквально всі елементи сторінки можуть їх використовувати для своїх потреб.

На відміну від глобальних змінних, локальні змінні визначаються усередині функцій. Змінні можна визначити за допомогою ключового слова Var (для локальних змінних його завжди обов'язково використовувати). Діапазон легітимності локальних змінних не виходить за рамки операторів у тілі опису функції. Жодна інша функція або оператор поза поточною не в силах отримати доступ до локальної змінної.

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

Размещено на Allbest.ru


Подобные документы

  • Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.

    курсовая работа [51,4 K], добавлен 12.12.2010

  • Характеристика Javascript функции с параметрами (аргументами). Возврат значений, глобальные и локальные переменные в функции. Все способы создания пользовательских функций в Javascript. Область видимости переменных. Рекурсивная функция Javascript.

    лабораторная работа [75,8 K], добавлен 19.09.2019

  • Изучение создания скриптов на JavaScript. Разработка программы выдачи простого предупреждения по событию Click при выборе гипертекстовой ссылки. Применение контейнера SCRIPT для размещение JavaScript-кода. Получение типа программы просмотра HTML-страниц.

    контрольная работа [21,1 K], добавлен 15.02.2010

  • Размещение кода скрипта JavaScript непосредственно на HTML-странице. Сценарий JavaScript и список основных событий. Полезные конструкции на PHP. Некоторые функции для работы с массивами. Фрагмент кода JavaScript из "Эконометрической модели России".

    презентация [331,2 K], добавлен 25.09.2013

  • Создание интерактивных веб-страниц. Что такое JavaScript. Полная интеграция с браузером. Мощные средства для создания сетевых соединений. Подключение и выполнение JavaScript. Загрузка данных без перезагрузки страницы. Объекты для работы с мультимедиа.

    лекция [16,2 K], добавлен 05.02.2012

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

    лабораторная работа [58,6 K], добавлен 25.05.2016

  • Назначение и применение JavaScript, общие сведения. Понятие объектной модели применительно к JavaScript. Размещение кода на HTML-странице. URL-схема. Вставка (контейнер SCRIPT, принудительный вызов интерпретатора). Программирование свойств окна браузера.

    лекция [517,1 K], добавлен 09.03.2009

  • Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".

    курсовая работа [19,3 K], добавлен 01.07.2014

  • Дослідження та аналіз об’єкту програмування. Основні архітектурні риси JavaScript. Переваги CSS розмітки. Структура HTML-документа. Вимоги до апаратного та програмного забезпечення. Опис програми та її алгоритмів. Оцінка вартості програмного продукту.

    дипломная работа [1,0 M], добавлен 01.09.2016

  • Типизация данных в JavaScript. Правила объявления локальных и глобальных переменных. Объявление и использование функций. Открытие и закрытие файла, запись в него и чтение из него. Создание теста с использованием средств языка программирования PHP скрипт.

    контрольная работа [73,8 K], добавлен 25.01.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.