Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

WDH: JavaScript - Оператори та функції

  1. 3.6.1. Оператори JavaScript
  2. 3.6.2. умовний оператор
  3. 3.6.3. оператор вибору
  4. 3.6.4. Оператори циклу
  5. 3.6.4.1. оператор for
  6. 3.6.4.2. оператор while
  7. 3.6.4.3. Оператор do ... while
  8. 3.6.4.4. Мітки операторів
  9. 3.6.4.5. оператор break
  10. 3.6.4.6. оператор continue
  11. 3.6.5. Оператор for ... in
  12. 3.6.6. оператор with
  13. 3.6.7. Обробка винятків
  14. 3.6.7.2. Оператор try ... catch
  15. 3.6.7.3. оператор throw
  16. 3.6.8. функції
  17. 3.6.8.2. Виклик функції
  18. 3.6.8.3. рекурсивні функції
  19. 3.6.8.4. оператор return
  20. 3.6.8.5. об'єкт arguments

3.6.1. Оператори JavaScript

Наша взаимовыгодная связь https://banwar.org/

Управління послідовністю дій в ході виконання сценарію здійснюється за допомогою операторів. JavaScript містить стандартний набір операторів, успадкований від мов C ++ і Java, а саме:

  • умовний оператор if ... else ;
  • оператор вибору switch ;
  • оператори циклу for , while , do ... while , break і continue ;
  • оператор ітерації for ... in ;
  • оператор вказівки об'єкта with ;
  • оператори обробки виключень try ... catch і throw ;
  • оператори декларації функцій function і повернення з функції return .

Наступні оператори описані в інших розділах довідника:

Будь-яке вираження JavaScript також є оператором.

3.6.2. умовний оператор

Умовний оператор if ... else дозволяє перевірити певну умову і, в залежності від його істинності, виконати ту чи іншу послідовність операторів. Він має дві форми:

if (умова) оператор1 if (умова) оператор1 else оператор2

Тут умова - це будь-який вираз, значення якого може бути перетворено до логічного типу, оператор1 і оператор2 - будь-які групи операторів JavaScript; якщо ці групи містять більше одного оператора, то вони повинні бути укладені у фігурні дужки {}.

Перша форма оператора означає, що якщо значення умови істинно, то виконуються оператори1; якщо воно помилкове, то управління передається оператору, наступному за if.

Друга форма оператора означає, що якщо значення умови істинно, то виконуються оператори1; якщо воно помилкове, то виконуються оператори2.

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

function maxValue (x, y, z) {if (x> = y) {if (x> = z) return x; else return z; } Else {if (y> = z) return y; else return z; }}

3.6.3. оператор вибору

Оператор вибору switch виконує ту чи іншу послідовність операторів в залежності від значення певного виразу. Він має вигляд:

switch (вираз) {case значення: оператори break; case значення: оператори break; ... default: оператори}

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

Оператор вибору спочатку обчислює значення виразу, а потім перевіряє, чи немає цього значення в одній з міток case значення. Якщо ця позначка є, то виконуються оператори, такі з ним; якщо немає, то виконуються оператори, такі за міткою default (якщо вона відсутня, то управління передається оператору, наступному за switch).

необов'язковий оператор break вказує, що після виконання операторів управління передається оператору, наступному за switch. Якщо break відсутній, то після виконання операторів починають виконуватися оператори, що стоять після наступної мітки case (управління як би "провалюється" в наступну мітку).

У наступному прикладі значення змінної length перетворюється в метри в залежності від початкової одиниці вимірювань, заданої в змінної str. Зверніть увагу, що після case "м" немає оператора break; в даному випадку це означає, що ця мітка і мітка default обробляються однаково, а саме значення змінної length не змінюється.

var str = "см"; var length = 25; switch (str) {case "км": length * = 1000; break; case "см": length / = 100; break; case "м": default: break; }

3.6.4. Оператори циклу

Цикл - це послідовність операторів, виконання якої повторюється до тих пір, поки певний умова не стане хибним. JavaScript містить три оператора циклу: for , while і do ... while , А також оператори break і continue , Які використовуються всередині циклів.

Близький до операторам циклу і оператор ітерації for ... in , Який використовується при роботі з об'єктами.

3.6.4.1. оператор for

Оператор циклу for має вигляд:

for (ініціалізація; умова; зміна) оператор

Тут ініціалізація і зміна - це будь-який вираження, умова - будь-який вираз, значення якого може бути перетворено до логічного типу, оператор - будь-яка група операторів JavaScript; якщо ці група містить більше одного оператора, то вона повинні бути укладена в фігурні дужки {}. Ініціалізація може містити декларацію змінної .

Оператор for виконується наступним чином:

  1. Виконується вираз ініціалізація (зазвичай це вираз инициализирует лічильник або лічильники циклу).
  2. Обчислюється значення виразу умова. Якщо воно помилкове, то управління передається оператору, наступному за даними оператором.
  3. Виконується оператор.
  4. Виконується вираз зміна (зазвичай це вираз збільшує або зменшує лічильник або лічильники циклу) і управління передається етапу 2.

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

function initArray (a) {for (var i = 0; i <a.length; i ++) a [i] = 0; }

3.6.4.2. оператор while

Оператор циклу while має вигляд:

while (умова) оператор

Тут умова - будь-який вираз, значення якого може бути перетворено до логічного типу, оператор - будь-яка група операторів JavaScript; якщо ці група містить більше одного оператора, то вона повинні бути укладена в фігурні дужки {}.

Оператор while виконується в такий спосіб:

  1. Обчислюється значення виразу умова. Якщо воно помилкове, то управління передається оператору, наступному за даними оператором.
  2. Виконується оператор і управління передається етапу 1.

При використанні даного оператора необхідно переконатися, що рано чи пізно умова стане хибним, т. К. Інакше сценарій увійде в нескінченний цикл, наприклад:

while (true) document.write ( "Привіт всім!");

3.6.4.3. Оператор do ... while

Оператор циклу do ... while має вигляд:

do оператор while (умова)

Тут умова - будь-який вираз, значення якого може бути перетворено до логічного типу, оператор - будь-яка група операторів JavaScript; якщо ці група містить більше одного оператора, то вона повинні бути укладена в фігурні дужки {}.

Оператор do ... while виконується в такий спосіб:

  1. Виконується оператор.
  2. Обчислюється значення виразу умова. Якщо воно помилкове, то управління передається оператору, наступному за даними оператором.
  3. Управління передається етапу 1.

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

var i = 0; do document.write (i ++); while (i <10);

3.6.4.4. Мітки операторів

Будь-оператор або блок операторів в сценарії на мові JavaScript може мати будь-яку кількість міток. Мітки використовуються операторами break і continue для вказівки того, до якого оператора вони відносяться. Позначений оператор має вигляд:

мітка: оператор

В якості мітки може використовуватися будь-який ідентифікатор, який не є зарезервованим словом .

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

3.6.4.5. оператор break

Оператор break перериває виконання поточного циклу, оператора switch або позначений оператора і передає управління оператору, наступного за перерваним. Цей оператор може вживатися тільки всередині циклів while , do ... while , for або for ... in , А також всередині оператора switch . Він має дві форми:

break break мітка

Перша форма оператора перериває виконання самого внутрішнього з циклів або операторів switch . Друга форма оператора перериває виконання оператора із заданою міткою.

Приклад оператора break в тілі функції, що повертає номер елемента масиву, що містить задане значення:

function findValue (a, theValue) {for (var i = 0; i <a.length; i ++) {if (a [i] == theValue) break; } Return i; }

3.6.4.6. оператор continue

Оператор continue завершує поточну ітерацію поточного циклу або циклу, позначеного відповідної міткою, і починає нову ітерацію. Цей оператор може вживатися тільки всередині циклів while , do ... while , for або for ... in . Він має дві форми:

continue continue мітка

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

  • цикли while і do ... while перевіряють умову циклу і, якщо воно істинно, починають чергове виконання циклу;
  • цикл for виконує вираз зміна, перевіряє умова циклу і, якщо воно істинно, починає чергове виконання циклу;
  • цикл for ... in переходить до наступного поля змінної і починає чергове виконання циклу.

У наступному прикладі до змінної n послідовно додаються значення 1, 2, 4 і 5:

var i = 0; var n = 0; while (i <5) {i ++; if (i == 3) continue; n + = i; }

3.6.5. Оператор for ... in

Оператор for ... in виконує задані дії для кожного властивості об'єкта або для кожного елемента масиву. Він має вигляд:

for (змінна in вираз) оператор

Тут змінна - це декларація змінної , Вираз - будь-який вираз, значенням якого є об'єкт або масив, оператор - будь-яка група операторів JavaScript; якщо ці група містить більше одного оператора, то вона повинні бути укладена в фігурні дужки {}.

Оператор for ... in виконується наступним чином:

  1. Змінної присвоюється ім'я чергового властивості об'єкта або чергового елемента масиву (це залежить від того, є значенням вирази об'єкт або масив).
  2. Виконується оператор.
  3. Управління передається етапу 1.

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

Наступний сценарій створює новий об'єкт ob, а потім послідовно виводить всі його властивості на екран оглядача:

var ob = { "а": "Архангельськ", "б": "Баку", "в": "Воронеж"}; for (var key in ob) document.write (key + ":" + ob [key] + "<BR>");

На екрані з'явиться текст

а: Архангельськ б: Баку в: Воронеж

3.6.6. оператор with

Оператор with задає ім'я об'єкта за замовчуванням. Він має вигляд:

with (вираз) оператор

Тут вираз - будь-який вираз, значенням якого є об'єкт, оператор - будь-яка група операторів JavaScript; якщо ці група містить більше одного оператора, то вона повинні бути укладена в фігурні дужки {}.

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

Оператор with використовується для скорочення розміру програмного коду і прискорення доступу до властивостей об'єктів. Наприклад, для доступу до математичних функцій ми повинні кожен раз вказувати ім'я об'єкта Math:

x = Math.cos (Math.PI / 2) + Math.sin (Math.LN10); y = Math.tan (2 * Math.E);

За допомогою оператора with цей фрагмент сценарію можна істотно скоротити:

with (Math) {x = cos (PI / 2) + sin (LN10); y = tan (2 * E); }

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

3.6.7. Обробка винятків

3.6.7.1. поняття виключення

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

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

3.6.7.2. Оператор try ... catch

Оператор try ... catch використовується в тих фрагментах сценарію, де може виникнути виняток, для його обробки. Він має вигляд:

try {оператор1} catch (виняток) {оператор2}

Тут виняток - будь-яке ім'я змінної, а оператор1 і оператор2 - будь-які групи операторів JavaScript, укладені у фігурні дужки {}.

Оператор1 містить програмний код, в якому можливе виникнення виключення. Якщо виключення не виникло, то після виконання оператора1 управління передається звичайним чином оператору, наступного за try ... catch. Якщо ж воно виникло, то інформація про виключення заноситься в локальну змінну виняток, і управління передається оператору2, який повинен містити код обробки цього винятку.

Якщо виникло виключення не може бути тут оброблено, то оператор2 повинен містити оператор throw для передачі виключення обробнику переривань більш високого рівня. Приклад використання цього оператора наведено в наступному розділі.

Див. також WDH +: Оператор try ... catch в IE4 .

3.6.7.3. оператор throw

Оператор throw генерує виняток, яке може бути оброблено оператором try ... catch . Він має вигляд:

throw виняток

де виключення - будь-який вираз.

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

function getMonthName (month) {month = month - 1; // Переводимо month в індекс масиву (1 = січень, 12 = грудень) var months = new Array ( "січень", "лютий", "март", "квітень", "травень", "червень", "липень", "серпень", "вересень", "жовтень", "листопад", "грудень"); if (months [month]! = null) return months [month]; else throw "Невірний місяць"; } Try {monthName = getMonthName (myMonth); // можливе виключення} catch (e) {monthName = "невідомо"; } Document.write (monthName);

3.6.8. функції

3.6.8.1. декларація функції

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

Для того, щоб користуватися функцією, ми повинні спочатку її визначити. Декларація функції має вигляд:

function ім'я (аргументи?) {оператори}

Тут ім'я - ідентифікатор, що задає ім'я функції, аргументи - необов'язковий список ідентифікаторів, розділених комами, який містить імена формальних аргументів функції, а оператори - будь-який набір операторів, який називається тілом функції і виконується при її виклику.

Розглянемо наступний приклад:

function cube (number) {return number * number * number; }

Ця функція називається cube і має один формальний аргумент number. При виклику цієї функції замість формального аргументу підставляється його фактичне значення, функція виконує зведення цього значення в куб і повертає отримане число оператором return .

Змінні, декларовані в тілі функції, є локальними, т. Е. Недоступні поза її тіла. Подробиці див. В описі області дії змінних .

3.6.8.2. Виклик функції

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

В результаті змінна x отримає значення 125.

В JavaScript діють наступні правила передачі аргументів функції:

function setBrowser (browser) {browser.name = "Internet Explorer"; browser.version = "5.5"; } Var myBrowser = {name: "Netscape Navigator", version: "4.7"}; var x = myBrowser.name; // x одно "Netscape Navigator" setBrowser (myBrowser); // об'єкт myBrowser передається функції var y = myBrowser.name; // y одно "Internet Explorer"

3.6.8.3. рекурсивні функції

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

Наведемо приклад функції, що обчислює факторіал числа (факторіал числа n дорівнює 1 * 2 * ... * n):

function factorial (n) {if (n <= 1) return 1; else return (n * factorial (n-1)); }

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

3.6.8.4. оператор return

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

return вираз return

Перша форма оператора завершує виконання функції і повертає значення виразу. Функція, що містить такий оператор return, повинна викликатися як частина виразу присвоювання, наприклад x = 2 * cube (a).

Друга форма оператора завершує виконання функції і повертає значення undefined. Функція, що містить такий оператор return, повинна викликатися як оператор, наприклад setBrowser (myBrowser).

Якщо тіло функції не містить оператора return, то її виконання завершується з виконанням останнього оператора тіла і повертається значення undefined.

3.6.8.5. об'єкт arguments

При вході в тіло функції створюється локальний об'єкт arguments, який має такі властивості:

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

function initArray () {this.length = initArray.arguments.length; for (var i = 0; i <this.length; i ++) this [i] = initArray.arguments [i]; } Var myFriends = new initArray ( "Михайло", "Максим", "Сергій", "Леонід");Аргументи?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: