Уроци по JavaScript от Samodelkin - Урок 5
Сега бъдете търпеливи отново. сериозно и дълго време.
Сложните оператори са наистина сложни. Думата "сложен" може да бъде преведена на английски с различни думи, включително - сложна, тоест "сложна", където "много неща". И ние ще изучаваме тези оператори на малки порции. Ако разбиете задачата на нейните компоненти, тя се оказва не толкова трудна. Но искам всичко наведнъж! Бъди търпелив. Време е да копаем дълбоко.
Ако изявление. друго
Вече познаваме принципа на действие и синтаксиса. Позволете ми да ви напомня отново:
И ако с неизпълнено условие изобщо не ни е необходим код?
Възможно ли е да се симулира следната ситуация в този оператор?
Да предположим, че имате много необичаен дизайн, който не може да бъде адаптиран към различни видове браузъри. И така вие решихте да напишете три почти еднакви страници, едната от които изглежда правилно в IE, другата в Netscape и Mozilla, а третата в Opera. И сега трябва да направим скрипт, който при щракване върху връзката да проверява браузъра на потребителя и да му отваря необходимата страница.
Ако (условие1 - IE), тогава, ако не, тогава ако (условие2 - NS или MOZILLA), тогава, ако не, тогава (условие3 - ОПЕРА), тогава .
Този алгоритъм е несъвършен: ако браузърът не отговаря на никоя от дефинициите, тогава нищо няма да се отвори от връзката. Но в тази ситуация синтаксисът на вложени оператори ще стане по-ясен, което искам да демонстрирам преди всичко.
За определяне на типа браузър за обект навигатор има имот appName
IE има това свойство "Microsoft Internet Explorer", NS и Mozilla имат "Netscape", а Opera има "Opera".
Подгответе маркерите за скрипта
и започнете да го попълвате. Като начало предлагам да декларираме променливи за имената на браузърите: и основният код ще бъде по-компактен и между другото ще практикуваме.
Сега нека добавим основния код и скриптът ще изглежда така:
Обърнете внимание на къдравите скоби. Първият алтернативен код включва всички вложени условия и изпълнения и е затворен със скоби в самия край. Всички вложени оператори са вложени един в друг като кукли за гнездене. По-долу съм изобразил "гола" схема, в която сложих повече оператори и свързах началото и краищата им със стрелки.
И двата кода са подредени в традиционна програмистска "стълба", но това не се прави според изискванията на езика, а за нашата "човешка" четливост.

Между другото, тази схема има една допълнителна подробност: последният цикъл се допълва от кода друго, работещи във всички други (не споменати) случаи. Ако например зададем страницата по подразбиране за IE (така че всички други браузъри, които не са взети предвид от нас, също да я отворят), тогава правилният код ще изглежда така: