Видове структури за управление на потока в JavaScript

Съдържание

Днес ще видим структури за контрол на потока, наричани още просто структури за управление или особено итеративни структури. Тези инструкции са много интересни и се използват, тъй като развиват концепцията от програма до интелигентна програма.

Защо?

Ако не използваме структури за управление на потока, една програма е проста. Това е програма, която първоначално използва само променливи и оператори в това, което можем да наречем последователност от инструкции в линейно време, тоест една след друга.
Чрез въвеждането на структурите, които ще видим по -долу, нашата програма престава да бъде просто линейна последователност от неефективни инструкции, за да се превърне в програма, която е в състояние да взема решения в зависимост от стойността на променливите, с които борави, затова те се наричат ​​„интелигентни“ .

The итеративни структури те се наричат ​​така, защото инструкциите трябва да се изпълнят може да се повтори един или много пъти. Съществува голямо разнообразие от типове итеративни структури с техните особености, но всички те имат нещо общо, имат една единствена точка за вход, тоест се активират при въвеждане на данни.

Сега ще видим различни типове итеративни структури в JavaScriptВъпреки че в действителност във всички или почти всички езици за програмиране има по същество едни и същи структури и служат за едни и същи цели, разликата е в начина, по който са написани, тоест в синтаксиса.

Ще започнем с итеративната структура, която е може би най -простата, а също и най -използваната. Имаме предвид структурата ако.

IF структураКазвам, че това е най-простото от въвеждането на информацията и след като я проверим, това, което прави нашата програма, е, че ако предварително установеното условие е изпълнено, ние изпълняваме изречението или изреченията, които сте предварително дефинирали в кода. От друга страна, ако това условие не е изпълнено, то напуска структурата и не изпълнява кода, който я придружава.

Пример с код на Javascript е следният:

 If (x) {alert ("Стойността е вярна"); } 
Толкова просто. Единственото, което казваме е, че ако променливата, която въвеждаме (x) е вярна, напишете „Стойността е вярна“ и ако не е вярно, тогава не пишете нищо. Може да се изрази и с If (x == true) е много важно да не бъркате оператора ==, който сравнява двете стойности с = Това, което прави, е да присвои стойността вляво на стойността вдясно.

Тази структура сама по себе си се използва за валидиране на всякакъв вид въвеждане на информация по много повтарящ се начин, но обикновено е придружена от друга структура, наречена иначе.
В противен случай се използва като допълнение към ако, ако условието, установено от if, не е изпълнено и продължава с else, изявлението или изразите, свързани с споменатата структура на управление, се изпълняват автоматично, както може да се види в следния пример:

 If (x) {alert ("Стойността е вярна"); } else {alert ("Стойността е невярна"); } 
Както в предишния пример, ако въведените данни, x, са верни, напишете „Стойността е истина“. Разликата с предишния пример, в който, ако x не беше вярно, той не направи нищо, е, че сега, когато отива на else, той директно пише „Стойността е невярна“.
Това е много полезно, ако информацията може да бъде само вярна или невярна, черна или бяла, да или не, или всяка друга двоична комбинация, или една или друга. Обикновено обаче има случай, в който искаме да знаем дали въведените от нас данни отговарят на някое от няколкото изключителни условияНапример, ако искаме да знаем дали нашият играч е защитник, халф, вратар или нападател. Винаги ще бъде само едно от четирите неща и тук с ако и иначе не работи за нас.
В този случай можем да използваме иначе ако структура какво означава, ако не. Можем да използваме всичко останало, ако това винаги искаме след първата структура if и преди последната, която ще бъде else, както можем да видим в следния код:
 If (player == вратар) {alert ("Играчът е вратар"); } else if (player == defense) {alert ("Играчът е в защита"); } else if (player == халф) {alert ("Играчът е халф"); } else {alert ("Играчът е напред"); } 
По този начин програмата първо проверява дали е вратар. Ако е така, той го записва, ако не премине към първия иначе, за да провери дали е защита. Ако е така, запишете го. Ако не е, той отива в следващия блок, за да провери дали е халф. Ако е така, запишете го. Ако това не е нито една от трите опции, той влиза в последния блок.

Структурите, които току -що видяхме, не се оказват ефективни, ако проверките се повтарят много, като в този случай други контролни структури, като напр. докато или направете докато за:

WHILE цикълТази структура е това, което е известно като while (което е буквалният превод от английски) в алгоритмиката. И както собственото му значение казва, това е цикъл, който изпълнява инструкциите докато условието или условията остават верни, докато продължават да връщат „true“ като стойност.
Следователно, структура на цикъла е много проста:
while (условие)
{
инструкции;
}

А прост пример в JavaScript може да бъде следното:

 var counter = 1; while (num <5) {alert ("num"); брой + = 1; } 
Това е толкова просто, колкото добавянето един по един към променливия ни брой, докато достигне 5.
Какво се случва, ако условието не е изпълнено, преди да влезете в цикъла?

Че цикълът никога няма да работи. И тук стигаме до специален тип цикъл while, наречен направи докато. Тази структура се използва, ако искаме програмата да влезе в цикъла поне веднъж. Буквалният превод е do… стига поне веднъж да влезе в цикъла.

Защо винаги влиза в нашия цикъл поне веднъж?

Тъй като, както ще видим по -долу, условието за изпълнение на цикъла се изпълнява след това. Може да звучи сложно, но ще видим, че е много просто:

 var факт = 1; var num = 10; направи {факт = номер * факт; номер-; } while (брой> 0); сигнал (номер); 
Това ще бъде примерът.

Какво се случва в този пример?

Това първо влиза в цикъла и прави две инструкции, като умножава резултата по числото и след това намалява броя. Този процес го повтаря, докато нашият номер е 1. При излизане от цикъла напишете числото, което първоначално беше 10, а сега е 1.
Този цикъл може да бъде написан по същия начин с while. От друга страна, ако в инициализацията var num = 0; влиза в цикъла, прави ли инструкциите и num остава със стойността -1, което няма да се случи с while, тъй като няма да влезе в цикъла, и по този начин го е направил веднъж.
Очевидно това е много прост пример с малко полза, но при програмиране е много интересно, ако искаме да се покаже меню поне веднъж.

След като видим цикъла while и do while, ще видим това, което според мен е най -използваното в програмирането. Говорим за известния цикъл за.

ЗА структураТова е най -използваният контур за своята ефективност, въпреки че е по -сложен от предишните итеративни структури.
Той има следната форма:

за (ред на инициализация; състояние; поръчка от актуализация)
{
Инструкции за изпълнение
}

И неговият операцията е много проста:
В първата част на цикъла една или повече променливи се инициализират, тоест им се дава стойност. След първата точка и запетая се определя условието, което трябва да бъде изпълнено за изпълнение на инструкциите. И последната част от скобите, актуализацията, е стойността, която ще бъде присвоена на променливите, които са инициализирани.
Много просто, стига да е изпълнено посоченото условие, инструкциите във цикъла for се изпълняват. След като го изпълним, актуализираме стойността на променливите, използвани в условието.
Сега ще видим пример, написан на Javascript:

 for (i = 0; i <10; i ++) {alert ("Все още е по -малко от 10"); } 
Създадохме и инициализирахме променливата i със стойност 0. Важно е да се има предвид, че тази част от цикъла се изпълнява само за първи път, през останалото време не го взема предвид, тъй като се инициализира само веднъж . Нашата зона на състояние е толкова дълго, колкото i е по -малко от 10 и следователно нашият цикъл ще се повтаря, докато i вече не е по -малък от 10.
Сега идва зоната за надграждане. Ако стойността на i не беше променена, тъй като сме я инициализирали на 0, тя ще се превърне в безкраен цикъл.
В нашата зона за актуализация променяме стойността на нашата променлива. В случая с примера, всеки път, когато цикълът се изпълнява, стойността на i се увеличава с 1, но могат да бъдат зададени и други инструкции като умножение, изваждане и т.н.

The for цикъл е много полезен в света на програмирането и макар и по -рядко срещан, има специален случай, призован в. Въпреки че това обикновено се използва при програмиране на обекти, които вече са доста напреднали, използването в масиви е интересно.
Цикъл за в това, което прави, е да премине през масив, преминаващ ефективно през всичките му елементи. Дефиниран масив, кодът е следният:

 var array = ["Първо", "Второ", "Трето", "Четвърто"]; for (i в масиви) {alert ("Курс: масив (i)"); } 
Той пише всички налични курсове от първия до четвъртия.

Накрая ще говорим за друга от най -използваните структури за управление на потока, която е превключващата верига, което означава да избирате на английски.

SWITCH контурНие използваме тази структура почти винаги, когато искаме да направим меню с различните му опции. Това е един вид оптимизация на повторението на цикъла else if, който видяхме преди и който работи много по -добре и без да е излишен. Използваме го за онези времена, когато искаме да направим множество проверки на една и съща променлива, тоест да изберем характеристика пред променлива, която я изключва от друга.

The превключваща форма е следното:

 ключ (буква) {случай a: инструкции; почивка; случай б: инструкции; почивка; случай в: инструкции; почивка; случай г: инструкции; почивка; по подразбиране: инструкции; почивка; } 
Предишният цикъл се предава на променлива, в този случай буква. Той проверява тази променлива и в зависимост от това коя въвежда и изпълнява една или друга инструкция и след това излиза от цикъла. За да въведете всяка от наличните опции на нашата буквена променлива, се използва запазената дума. Цикълът се излиза с ключовата дума break, която е a инструкция за скок, която прекъсва или променя потока на програмата, в този случай форсиране на изхода на цикъла преждевременно. Въвеждането на тази дума обаче не е задължително.

По този начин няма да прекъснем потока на програмата и да проверим останалите опции (което знаем, че няма да е истина) така че ще бъде по -малко оптимално. Много е важно да се отбележи, че проверките се извършват по редСледователно, ако знаем коя опция или опции ще бъдат използвани най -добре, по -добре е да ги поставим на първо място.
The стойност по подразбиране който виждаме в кода е този, който се използва, ако въведената стойност не съвпада с нито един регистър. В този случай автоматично се прескача по подразбиране. Не е задължително обаче да включваме по подразбиране в нашия код.

Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave