Js е съкращение за if. JavaScript: if и else - условни изрази

Условни твърдения

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

Ако си представите, че една програма е път, а JavaScript интерпретаторът е пътник, който върви по него, тогава условните изрази могат да се разглеждат като кръстопът, където програмният код се разклонява на два или повече пътя и на такъв кръстопът интерпретаторът трябва да избере кой пътят, по който да поемем.

оператор if/else

Операторът if е основен контролен израз, който позволява на интерпретатора на JavaScript да взема решения или по-точно да изпълнява изрази въз основа на условия. Операторът if има две форми. Първо:

оператор if (израз).

В тази форма първо се изчислява изразът. Ако полученият резултат е верен, операторът се изпълнява. Ако изразът върне false, операторът не се изпълнява. Например:

If (username == null) // Ако променливата username е null или недефинирана username = "Alex"; // дефинирайте го

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

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

if (израз) оператор1 else оператор2

Този формуляр изпълнява оператор1, ако изразът е верен, и оператор2, ако изразът е фалшив. Например:

If (n == 1) console.log("Получено е 1 ново съобщение."); else console.log("Получени " + n + " нови съобщения.");

изявление else if

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

If (n == 1) ( // Изпълнение на блок 1 ) else if (n == 2) ( // Изпълнение на блок 2 ) else if (n == 3) ( // Изпълнение на блок 3 ) else ( // Ако нито едно от двете един от предишните оператори else не е изпълнен, изпълнете блок 4)

Няма нищо особено в това парче. Това е просто поредица от оператори if, където всеки оператор if е част от клаузата else на предишния оператор.

изявление за превключване

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

Изявлението switch е проектирано специално за такива ситуации. Ключовата дума switch е последвана от израз в скоби и блок от код във фигурни скоби:

превключвател (израз) ( инструкции )

Въпреки това, пълният синтаксис на команда за превключване е по-сложен от показания тук. Различни места в блок са маркирани с ключовата дума case, последвана от израз и двоеточие.

Когато се изпълни оператор за превключване, той оценява стойността на израза и след това търси етикет за случай, който съответства на тази стойност (съвпадението се определя с помощта на оператора за самоличност ===). Ако етикетът бъде намерен, блокът от код се изпълнява, като се започне с първия израз след етикета на case. Ако етикет на case със съответстваща стойност не бъде намерен, изпълнението започва с първия израз след специалния етикет по подразбиране: . Ако етикетът по подразбиране: липсва, целият блок с инструкции за превключване се пропуска.

Работата на оператора switch е трудна за обяснение с думи; обяснението е много по-ясно с пример. Следният оператор switch е еквивалентен на повтарящите се изрази if/else, показани в предишния пример:

Switch(n) ( case 1: // Изпълнява се, ако n === 1 // Изпълнява прекъсване на блок 1; // Спри тук case 2: // Изпълнява се, ако n === 2 // Изпълнява прекъсване на блок 2; / / Стоп тук случай 3: // Изпълнение, ако n === 3 // Изпълнение на прекъсване на блок 3; // Спри тук по подразбиране: // Ако всичко останало се провали... // Изпълнение на прекъсване на блок 4; // Спри тук )

Обърнете внимание на ключовата дума break в края на всеки блок case. Операторът break води до прехвърляне на контрола към края на оператора switch и изпълнението на следващите оператори продължава. Операторите за казус в оператора switch указват само началната точка на програмния код, който трябва да бъде изпълнен, но не уточняват крайни точки.

Ако няма оператори за прекъсване, операторът switch ще започне да изпълнява блока от код с етикета case, съответстващ на стойността на израза, и ще продължи да изпълнява операторите, докато достигне края на блока. В редки случаи това е полезно за писане на код, който се движи от един етикет на case към следващия, но в 99% от случаите трябва внимателно да завършвате всеки блок case с израз за прекъсване. (Когато използвате превключвател във функция, можете да използвате израз за връщане вместо прекъсване. И двата оператора служат за прекратяване на израза за превключване и предотвратяване преминаването му към следващия етикет на case.)

По-долу е даден по-практичен пример за използване на оператора switch, той преобразува стойност в низ по начин, който зависи от типа на стойността:

Функция convert(x) ( switch(typeof x) ( // Преобразуване на число в шестнадесетично цяло число, case "number": return x.toString(16); // Връщане на низ в кавички, case "string": return """ + x + """; // Всеки друг тип се преобразува по обичайния начин по подразбиране: return x.toString(); ) ) console.log(convert(1067)); // Резултат "42b"

Обърнете внимание, че в предишните два примера ключовите думи за case бяха последвани от числа или низови литерали. Това е начинът, по който командата switch се използва най-често на практика, но стандартът ECMAScript ви позволява да зададете произволни изрази след case.

Командата switch първо оценява израза след ключовата дума switch, а след това case изразите в реда, в който са посочени, докато се намери съответстваща стойност. Фактът на съвпадение се определя с помощта на оператора за идентичност ===, а не на оператора за равенство ==, така че изразите трябва да съвпадат без преобразуване на типа.

Тъй като не всички case изрази се оценяват всеки път, когато се изпълнява оператор switch, трябва да избягвате използването на case изрази, които имат странични ефекти като извиквания на функции и присвоявания. Най-безопасно е да ограничите case изразите до константни изрази.

Както беше обяснено по-рано, ако нито един case израз не съвпада с оператор switch, операторът switch започва да изпълнява оператора, означен като default:. Ако етикетът по подразбиране: липсва, тялото на командата switch се пропуска изцяло. Обърнете внимание, че в предишните примери етикетът по подразбиране: е включен в края на тялото на оператора switch, след всички етикети за case. Това е логично и обичайно място за него, но всъщност то може да бъде разположено навсякъде в израза switch.

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

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

Синтаксисът на условния оператор if-else е както следва:


Ако условието е вярно, тогава се изпълнява кодът от блока if, в противен случай, ако условието е невярно, тогава се изпълнява кодът от блока else.

За по-добро разбиране, нека вземем такъв прост пример, имаме определена сума пари и искаме да си купим кола и тук веднага възниква следното условие: ако имаме достатъчно пари, тогава можем да купим тази кола, в противен случай ние не мога.

Var пари = 35000; // Да кажем, че имаме 35 000 евро // Колата, която искаме да купим, струва 50 000 евро. И възниква следното условие if(money > 50000)( document.write("Можем да си купим кола"); )else(document.write("Няма достатъчно пари за закупуване на кола"); )

Записваме документа, отваряме го в браузъра и виждаме, че на страницата се появява следното съобщение: „Няма достатъчно пари за закупуване на кола.“ Ако имахме повече от 50 000 евро, кодът от if блока щеше да бъде изпълнен. Ако имахме точно 50 000 евро, тогава също нямаше да можем да си купим кола, защото 50 000 не са повече от 50 000. За да е вярно условието в този случай, трябва да напишем знак по-голямо или равно (>=) .

Коментирайте! Логическата операция равно се записва с два знака за равенство (==). Има и логическа операция по-малка или равна на (

с помощта на фигурни скоби

Ако има само един оператор, тогава фигурните скоби не са необходими; ако има повече от един оператор в блока, тогава са необходими фигурни скоби.

Примерът по-горе ще работи перфектно без къдрави скоби, тъй като и двата блока съдържат само един израз.

Вътре, ако можете да напишете някакви логически операции, били те прости или сложни. Можете също да използвате операторите И (&&) и ИЛИ (||).

Коментирайте! Наличието на блок else не е задължително.

Например, ако a е равно на b и c е равно на d, тогава показваме съответното съобщение, в противен случай, ако няма блок else, тогава просто преминаваме към следващия ред.

Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a е равно на b И c е равно на d"); document.write("Следващ ред код");

If - else if - else оператор

След блока if може да има един или повече блокове else if, а в края има блок else. Това е полезно, когато трябва да използвате повече от едно условие.


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

Сега да преминем към програмирането.

Var socket = 2; // Брой контакти в къщата if(socket == 1)  document.write("

Можем да свържем само едно устройство

"); else if(socket == 2)(document.write("

Можем да свържем само две устройства

"); document.write("

Например телевизор и лаптоп

"); )else( document.write("

Можем да свържем всички уреди от къщата към електрическата мрежа

"); }

В зависимост от стойността на променливата на сокета, един или друг блок от код ще работи. Както вероятно вече сте разбрали, ако сокетът е равен на 1, тогава първият блок от код ще работи. Ако socket е равно на 2, тогава вторият блок от код ще работи и ако socket има друга стойност (дори отрицателно число), тогава третият блок от код ще работи.

Съкращение за if else

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


Например, ако стойността на променлива a е по-голяма от стойността на променлива b, тогава в променлива x ще напишем следното съобщение „Променлива a е по-голяма от променлива b“, в противен случай ще напишем, че „Променлива a е по-малко от променлива b.”

Var a = 50, b = 100, x; x = (a > b)? "

Променлива a е по-голяма от променлива b

" : "

Променлива a е по-малка от променлива b

"; //Изведете получения резултат document.write(x);

Това е всичко, което исках да ви кажа в тази статия. Условният оператор if-else се използва по повече от един начин във всеки скрипт, така че е много важно да го знаете и разбирате. В следващата статия ще ви разкажа за друг условен оператор switch-case.

В този пример първо декларираме четири променливи с помощта на ключовата дума var и веднага им присвояваме числови стойности. След това, използвайки операторите за увеличаване и намаляване, променяме стойностите на числата. Информацията се показва с помощта на функцията Echo (вижте статията " "). За да избегна повторното писане на името на обекта, използвах конструкцията with().

Логически оператори

При проверка на условия се използват логически оператори, за да не се повтарям, ще направя съкращение: левият операнд е L.O., а десният операнд е P.O.

  • && - Логическо "И"
  • || - "ИЛИ"
  • ! - "НЕ"
  • > - L.O. повече P.O.
  • >= - L.O. по-голяма или равна на P.O.
  • < - Л.О. меньше П.О.
  • = 5 && a= 5 || b== 100 ) //вярно msg2 = "ВЯРНО" ; else msg2 = "НЕВЯРНО" ; Изскачащ прозорец (msg2, 5, заглавие, vbInformation) ; //условен оператор js if else if (! a) //false msg3 = "TRUE" ; else msg3 = "НЕВЯРНО" ; Изскачащ прозорец (msg3, 5, заглавие, vbInformation) ; if (a&= 100 ) //false msg4 = "TRUE" ; else msg4 = "НЕВЯРНО" ; Изскачащ прозорец (msg4, 5, заглавие, vbInformation) ; )

    Както в предишния скрипт, тук използвах конструкцията with, за да съкратя програмния код. Въпреки това, за показване на информация използвахме функцията Popup (вижте статията ""). В резултат на това диалоговите прозорци ще се затворят автоматично след няколко секунди. Моля, обърнете внимание, че в този пример не използвахме къдрави скоби в условния оператор js if; те са подходящи само когато трябва да изпълните не един ред код, а няколко.

    И накрая, нека да разгледаме практически пример като решаване на квадратно уравнение:

    // Решаване на квадратно уравнение // uravnenije_if_else.js // ************************************* *********** ******************************** var a, b, c, d, x, x1, x2; //Деклариране на променливи a=- 2 ; b= 6; c= 20; //Търсене на дискриминант d= Math .pow (b, 2 ) - 4 * a* c; if (d== 0 ) ( x= b/ (2 * a) ; msg= "Уравнението има едно решение, x е точно " + x ) else ( if (d> 0 ) ( x1= (- b+ Math. sqrt ( d) ) / (2 * a) ; x2= (- b- Math .sqrt (d) ) / (2 * a) ; msg= "Уравнението има две решения \n x1 точно " + x1 + "\ n x2 точно " + x2; // условен оператор if else js ) else msg= "Няма решение" ; ) WScript.Echo (msg) ;

    JavaScript има условна конструкция, която влияе върху изпълнението на програмата. Ако (на английски if) нещо съществува, нещо е вярно, тогава направете едно нещо, в противен случай (на английски else) - направете нещо друго.

    оператор if

    Нека веднага да разгледаме как работи изразът if; той е прост и не изисква много обяснения.

    Ако (условие) (код за изпълнение, ако условието е вярно)

    Това е просто: ако условието е вярно, тогава кодът в блока (...) се изпълнява.

    Променлива цифра = 4; if (цифра == 4) (document.write("Стойността на променливата цифра е 4."); )

    Можете да направите малко странен код:

    Променлива цифра = 4; if (true) ( ​​​​document.write("Условието е вярно."); )

    изявление else

    Операторът else може да се използва заедно с израза if. Превежда се като „в противен случай“ и указва алтернативен код.

    Променлива цифра = 4; ако (цифра

    Обърнете внимание на различното изписване на фигурни скоби в този пример за инструкциите if и else. Изобщо не е необходимо да го пишете по този начин; и двата синтаксиса са правилни.

    След оператора else може да има нов оператор if. Това ще провери множество условия.

    Променлива цифра = 4; ако (цифра

    JavaScript няма оператор elseif (с една дума), както PHP.

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

    Променлива цифра = 4; ако (цифра

    False в JavaScript

    Операторът if (условие) оценява и преобразува условието (израза) в скоби в булев тип (вярно или невярно).

    Нека повторим, че в JavaScript има лъжа.

    • Число 0 (нула).
    • Празен ред "".
    • Булева стойност false :)
    • Стойността е нула.
    • Стойността е недефинирана.
    • Стойността е NaN (не е число).

    Всичко друго е вярно.

    Няколко възможни грешки:

    If ("false") document.write("Това е вярно.
    "); if (false) document.write("Това е вярно.

    ");

    Тук трябва да разграничите низа „false“ (ограден в кавички) от булевата стойност false.

    If (" ") document.write("Това е вярно.
    "); else document.write("Това е невярно.
    ");

    Тук трябва да разграничите реда " " (с интервал вътре) от празния ред "". Интервалът в низа го прави не празен, но съдържа символ. За преводача буквата или интервалът нямат значение - знакът си е знак.

    Други условни изрази в JavaScript
    • Конструкция за превключване на JavaScript.
    • Въпросителен знак за оператора

    Reg.ru: домейни и хостинг

    Най-големият регистратор и хостинг доставчик в Русия.

    Повече от 2 милиона имена на домейни в услуга.

    Промоция, домейн поща, бизнес решения.

    Повече от 700 хиляди клиенти по света вече са направили своя избор.

    Bootstrap framework: бързо адаптивно оформление

    Стъпка по стъпка видео курс за основите на адаптивното оформление в рамката Bootstrap.

    Научете се да набирате просто, бързо и ефективно, като използвате мощен и практичен инструмент.

    Оформление по поръчка и плащане.

    *Задръжте мишката, за да спрете превъртането на пауза.

    Назад напред

    Функции и условия if-else в JavaScript

    Често, когато използвате JavaScript, трябва да извършвате различни действия, когато са изпълнени различни условия.

    Например, написали сте скрипт, който проверява какъв браузър използва посетителят, когато посещава вашия сайт. Ако е Internet Explorer, трябва да се зареди страница, специално проектирана за IE; ако е друг браузър, трябва да се зареди друга версия на тази страница.

    Общият синтаксис на конструкция if-else е както следва:

    If (условие) (действие) else (действие2);

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

    If (browser=="MSIE") ( alert("Вие използвате IE") ) else ( alert("Вие не използвате IE") );

    Имайте предвид, че се използват всички малки букви. Ако напишете "АКО", ще възникне грешка.

    Също така имайте предвид, че двойният знак за равенство (==) се използва за сравнение.

    Ако пишем браузър="MSIE", тогава просто ще присвоим стойността MSIEпроменлива с име браузър.

    Когато пишем браузър=="MSIE", тогава JavaScript „разбира“, че искаме да направим сравнение, а не да присвоим стойност.

    По-трудни условия акоможете да създадете просто като ги добавите, например, към част друговече съществуваща структура ако-иначе:

    If (условие) (действие1) else (ако (друго условие) (действие2) else (действие3); );

    Например:

    If (browser=="MSIE") ( alert("Вие използвате IE") ) else ( if (browser=="Netscape") ( alert("Вие използвате Firefox") ) else ( alert("Вие използвате неразпознат браузър:))) );

    Логически оператори И, ИЛИ и НЕ

    За още по-гъвкаво използване на дизайна ако-иначеМожете да използвате така наречените логически оператори.

    И се записва като && и се използва, когато повече от едно условие трябва да бъде тествано за истинност.

    Например: Ако в хладилника има яйца и в хладилника има бекон, тогава можем да ядем яйца и бекон.

    Синтаксисът е както следва:

    If (условие1 && условие2) ( действие ) if (час==12 && минута==0) ( предупреждение("По обяд!"));

    Или се пише като || и се използва, когато искаме да проверим истинността на поне едно от две или повече условия. (Можете да получите || като задържите клавиша shift и клавиша \)

    Например: Ако има мляко в хладилника или има вода в хладилника, значи имаме какво да пием.

    Синтаксисът е както следва:

    If (условие1 || условие2) ( действие ) if (hour==11 || час==10) ( alert("Още не е пладне!") );

    Не е написано като ! и се използва за отрицание.

    Например: Ако в хладилника няма яйца или бекон, тогава не можем да ядем нито яйца, нито бекон.

    Синтаксисът е:

    If (!(условие)) ( действие ) if (!(hour==11)) ( alert("Не е 11 часа") );

    Функции в JavaScript

    Вместо просто да добавите Javascript към страницата и да накарате браузъра да изпълни кода, когато се стигне до него, можете да накарате скрипта да се изпълнява само когато възникне събитие.

    Например, вие сте създали JavaScript, чиято задача е да промени цвета на фона на страницата, когато щракнете върху определен бутон. В този случай трябва да "кажете" на браузъра, че този скрипт не трябва да се изпълнява, просто защото е негов ред.

    За да попречите на браузъра да изпълни скрипта, когато се зареди, трябва да напишете скрипта като функция.

    В този случай JavaScript кодът няма да бъде изпълнен, докато не го „помолим“ да го направи по специален начин.

    Вижте този пример на скрипт, написан като функция:

    функция myfunction() ( alert("Добре дошли!"); )

    Щракнете върху бутона, за да видите какво прави този скрипт:

    Ако линията предупреждение ("Добре дошли!");Ако не беше записано във функция, щеше да се изпълнява всеки път, когато браузърът достигне този ред. Но тъй като го написахме във функция, този ред не се изпълнява, докато не щракнем върху бутона.

    Извикването на функция (т.е. достъп до нея) се случва в този ред:

    Както можете да видите, поставихме бутон във формата и добавихме събитие onClick="myfunction()"за бутона.

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

    Общият синтаксис за функциите е както следва:

    Име на функция (променлива1, променлива2,..., променливаN) ( ​​// Ето тялото на функцията, действията, които изпълнява)

    Къдрави скоби: ( и ) показват началото и края на функция.

    Типична грешка при създаване на функции е невниманието и пренебрегването на важността на главните и главни букви. Думата функция трябва да е точно функция. Опцията Функция или ФУНКЦИЯ ще предизвика грешка.

    В допълнение, използването на главни букви играе роля при указване на имена на променливи. Ако имате функция с име моята функция (), след това опит да се обърне към нея като Myfunction(), MYFUNCTION()или MyFunction()ще предизвика грешка.

    Хареса ли ви материала и искате да ми благодарите?
    Просто споделете с вашите приятели и колеги!


    Вижте също:

Публикации по темата