DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Subskrybuj, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu

W Życie codzienne często konieczne jest podjęcie jakiejś decyzji, w zależności od jakiegoś stanu. Na przykład, jeśli w weekend pogoda będzie ciepła, to pójdziemy nad morze, w przeciwnym razie, jeśli jest pochmurno, będziemy siedzieć w domu.

W programowaniu jest to również bardzo powszechne. Do tego są dwie instrukcje warunkowe, są to if-else i switch-case. W tym artykule opowiem o instrukcji if-else, a w następnym o switch-case.

Składnia instrukcji warunkowej if-else następny:


Jeśli warunek jest spełniony, to wykonywany jest kod z bloku if, w przeciwnym razie, jeśli warunek jest fałszywy, to wykonywany jest kod z bloku else.

Dla lepszego zrozumienia weźmy taki prosty przykład, mamy pewną ilość pieniędzy i chcemy kupić samochód, a tu taki stan od razu powstaje, jeśli mamy wystarczająco dużo pieniędzy, to możemy kupić ten samochód, w przeciwnym razie Nie mogę.

Pieniądze Var = 35000; // Powiedzmy, że mamy 35 000 euro // Samochód, który chcemy kupić kosztuje 50 000 euro. I występuje następujący warunek if(money > 50000)( document.write("Możemy kupić samochód"); )else( document.write("Za mało pieniędzy na zakup samochodu"); )

Zapisujemy dokument, otwieramy go w przeglądarce i widzimy, że na stronie pojawił się następujący komunikat: „Nie ma wystarczająco dużo pieniędzy na zakup samochodu”. Gdybyśmy mieli więcej niż 50 000 euro, kod z bloku if zostałby wykonany. Gdybyśmy mieli dokładnie 50 000 euro, to również nie moglibyśmy kupić samochodu, ponieważ 50 000 to nie więcej niż 50 000. Aby warunek w tym przypadku był spełniony, należy wpisać znak większy lub równy ( >=) .

Komentarz! Operacja logiczna równa się zapisywana jest dwoma znakami równości (==). Istnieje również operacja logiczna mniejsza lub równa (

za pomocą nawiasów klamrowych

Jeśli jest tylko jeden operator, to aparat ortodontyczny opcjonalne, jeśli w bloku znajduje się więcej niż jedna instrukcja, wymagane są nawiasy klamrowe.

Powyższy przykład będzie działał dobrze bez nawiasów klamrowych, ponieważ oba bloki zawierają tylko jedną instrukcję.

Wewnątrz, jeśli możesz napisać cokolwiek operacje logiczne czy są proste czy złożone. Możesz także użyć operatorów AND (&&) i OR (||).

Komentarz! Obecność bloku else jest opcjonalna.

Na przykład, jeśli a jest równe b, a c jest równe d, wyświetlamy odpowiedni komunikat, w przeciwnym razie, jeśli nie ma innego bloku, po prostu przechodzimy do następnej linii.

Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a równa się b AND c równa się d"); document.write("Następny wiersz kodu");

instrukcja if-else if-else

Po bloku if może następować jeden lub więcej bloków if, a na końcu jest blok else. Jest to przydatne, gdy musisz użyć więcej niż jednego warunku.


Dla lepszego zrozumienia weźmy przykład z życia codziennego. Na przykład mamy pewną liczbę placówek. Jeśli mamy tylko jedno gniazdo w pokoju, to możemy podłączyć tylko jedno urządzenie, jeśli są dwa gniazda, to możemy podłączyć dwa urządzenia, a jeśli więcej, to możemy podłączyć się do sieć elektryczna, wszystkie urządzenia z domu.

Przejdźmy teraz do programowania.

var gniazdo = 2; // Liczba gniazd w domu if(socket == 1)  document.write("

Możemy podłączyć tylko jedno urządzenie

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

Możemy podłączyć tylko dwa urządzenia

"); document.write("

Na przykład telewizor i laptop

"); )else( document.write(");

Możemy podłączyć wszystkie urządzenia z domu do sieci elektrycznej

"); }

W zależności od wartości zmiennej gniazda zadziała jeden lub drugi blok kodu. Jak zapewne już zrozumiałeś, jeśli socket jest równe 1, to pierwszy blok kodu będzie działał. Jeśli gniazdo ma wartość 2, to drugi blok kodu będzie działał, a jeśli gniazdo ma inną wartość (nawet liczba ujemna), wtedy zadziała trzeci blok kodu.

Skrót od jeśli jeszcze

Skrótu można użyć, gdy w zależności od określonego warunku zmienna może otrzymać taką lub inną wartość.


Na przykład, jeśli wartość zmiennej a więcej wartości zmienna b, wtedy do zmiennej x piszemy następujący komunikat: „Zmienna a jest większa niż zmienna b”, w przeciwnym razie piszemy, że „Zmienna a jest mniejsza niż zmienna b”.

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

Zmienna a jeszcze zmienna b

" : "

Zmienna a mniej zmienna b

"; //Wypisz wynik document.write(x);

To wszystko, co chciałem ci powiedzieć w tym artykule. Instrukcja warunkowa if-else jest używana częściej niż w każdym skrypcie, dlatego bardzo ważne jest, aby ją znać i rozumieć. W następnym artykule opowiem o innej instrukcji warunkowej dotyczącej switch-case.

W ten przykład najpierw deklarujemy cztery zmienne z słowo kluczowe var i natychmiast przypisz im wartości liczbowe. Następnie za pomocą operatorów inkrementacji i dekrementacji zmieniamy wartości liczb. Informacje są wyświetlane za pomocą funkcji Echo(patrz artykuł ""). Aby nie pisać ponownie nazwy obiektu, użyłem konstrukcji z().

Operatory logiczne

Operatory logiczne są używane podczas sprawdzania warunku, aby się nie powtórzył, zrobię skrót: lewy operand to L.O., a prawy operand to P.O.

  • && — Boole'a "ORAZ"
  • || - "LUB"
  • ! - "NIE"
  • > - L.O. więcej
  • >= - L.O. większe lub równe P.O.
  • < - Л.О. меньше П.О.
  • <= - Л.О. меньше или равен П.О.
  • == - L.O. równa się PO
  • != - L.O. nie równa się z P.O.
  • |= - L.O. równa się sobie LUB P.O.
  • &= - L.O. jest równy sobie ORAZ P.O.
  • ^= - WYŁĄCZNIE LUB

Rozważmy teraz następujący skrypt:

//***************************************** // operacje logiczne// logic_if_else.js //***************************************** var a= 10 , b= 100 , WshShell, tytuł, msg1, msg2, msg3, msg4, vbInformation = 64 ; // Utwórz instancję klasy WScript.Shell WshShell = WScript.CreateObject("WScript.Shell" ); tytuł = "Praca z instrukcją warunkową IF ELSE JS"; with(WshShell) ( if (a>= 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>= 5 || b== 100 ) //prawda msg2 = "PRAWDA" ; w przeciwnym razie msg2 = "FAŁSZ" ; Popup (msg2, 5 , tytuł, vbInformation) ; //warunkowa instrukcja js if else if (! a) //false msg3 = "PRAWDA" ; w przeciwnym razie msg3 = "FAŁSZ" ; Popup (msg3, 5 , tytuł, vbInformation) ; if (a&= 100 ) //false msg4 = "PRAWDA" ; w przeciwnym razie msg4 = "FAŁSZ" ; Popup (msg4, 5 , tytuł, vbInformation) ; )

Podobnie jak w poprzednim skrypcie, tutaj wykorzystałem konstrukcję z aby skrócić kod. Jednak do wyświetlania informacji użyliśmy funkcji wyskakujące okienko(patrz artykuł ""). W rezultacie okna dialogowe zamkną się automatycznie po kilku sekundach. Zauważ, że w tym przykładzie nie użyliśmy nawiasów klamrowych. w instrukcji warunkowej js if są one istotne tylko wtedy, gdy trzeba wykonać nie jeden wiersz kodu, ale kilka.

Na koniec spójrzmy na to praktyczny przykład, jako rozwiązanie równania kwadratowego:

// Rozwiązywanie równania kwadratowego// uravnenije_if_else.js // *********************************************************** zmienna a, b, c, d, x, x1, x2; //Zadeklaruj zmienne a=-2; b=6; c= 20; //Poszukiwanie dyskryminatora d= Matematyka .pow (b, 2 ) - 4 * a * c; jeśli (d== 0 ) ( x= b/ (2 * a) ; msg= „Równanie ma jedno rozwiązanie, x jest dokładnie”+ x ) else ( if (d> 0 ) ( x1= (- b+ Math .sqrt (d)) / (2 * a) ; x2= (- b- Math .sqrt (d) ) / (2 * a) wiadomość= "Równanie ma dwa rozwiązania \n x1 dokładnie"+ x1 + " \n x2 dokładnie "+x2; // instrukcja warunkowa if else js) else msg= "Brak rozwiązania" ; ) WScript.Echo (wiadomość);

Źródło tego interaktywnego przykładu jest przechowywane w repozytorium GitHub. Jeśli chcesz przyczynić się do projektu interaktywnych przykładów, sklonuj https://github.com/mdn/interactive-examples i wyślij nam pull request.

Składnia

if (warunek) wyrażenie1 warunek Wyrażenie, które jest uważane za prawdziwe lub fałszywe . instrukcja1 Instrukcja wykonywana, jeśli warunek jest prawdziwy. Może być dowolną instrukcją, w tym dalej zagnieżdżonymi instrukcjami if. Aby wykonać wiele instrukcji, użyj instrukcji blokowej ((...)), aby pogrupować te instrukcje. Aby nie wykonywać żadnych instrukcji, użyj pustej instrukcji. statement2 Instrukcja, która jest wykonywana, jeśli warunek jest fałszywy i istnieje klauzula else. Może być dowolną instrukcją, w tym instrukcjami blokowymi i dalej zagnieżdżonymi instrukcjami if.

Opis

Wiele instrukcji if...else można zagnieżdżać w celu utworzenia klauzuli else if. Zauważ, że w JavaScript nie ma słowa kluczowego elseif (w jednym słowie).

if (warunek1) stwierdzenie1 else if (warunek2) stwierdzenie2 else if (warunek3) stwierdzenie3 ... else stwierdzenieN

Aby zobaczyć, jak to działa, wyglądałoby to tak, gdyby zagnieżdżenie było odpowiednio wcięte:

If (warunek1) instrukcja1 else if (warunek2) instrukcja2 else if (warunek3) ...

Aby wykonać wiele instrukcji w ramach klauzuli, użyj instrukcji blokowej ((...)), aby pogrupować te instrukcje. Ogólnie rzecz biorąc, dobrą praktyką jest zawsze używanie instrukcji blokowych, zwłaszcza w kodzie zawierającym zagnieżdżone instrukcje if:

If (warunek) ( oświadczenia1 ) else ( oświadczenia2 )

Nie myl prymitywnych wartości logicznych prawda i fałsz z prawdziwością lub fałszem obiektu boolowskiego. Każda wartość, która nie jest false , undefined , null , 0 , -0 , NaN lub pusty ciąg (""), oraz dowolny obiekt, w tym obiekt logiczny, którego wartość jest false, jest uznawana za prawdziwą, gdy jest używana jako warunek. Na przykład:

Varb = new Boolean(false); if (b) // ten warunek jest prawdziwy

Przykłady

Korzystanie z if...else

if (znak_szyfru === from_znak) ( wynik = wynik + to_znak; x++; ) else ( wynik = wynik + czysty_znak; )

Korzystanie z innego, jeśli

Zauważ, że nie ma innej składni if ​​w JavaScript. Możesz jednak napisać go ze spacją między else i jeśli:

If (x > 50) ( /* postępuj właściwie */ ) else if (x > 5) ( /* postępuj właściwie */ ) else ( /* postępuj właściwie */ )

Przypisanie w ramach wyrażenia warunkowego

Wskazane jest, aby nie używać prostych przypisań w wyrażeniu warunkowym, ponieważ przypisanie może być mylone z równością podczas przeglądania kodu. Na przykład nie używaj następującego kodu:

Jeśli (x = y) ( /* zrób właściwą rzecz */ )

Jeśli musisz użyć przypisania w wyrażeniu warunkowym, powszechną praktyką jest umieszczanie dodatkowych nawiasów wokół przypisania. Na przykład:

If ((x = y)) ( /* zrób właściwą rzecz */ )

Specyfikacje

Specyfikacja Status Komentarz
ECMAScript Najnowsza wersja robocza (ECMA-262)
Projekt
ECMAScript 2015 (6 wydanie, ECMA-262)
Definicja „instrukcji if” w tej specyfikacji.
standard
ECMAScript 5.1 (ECMA-262)
Definicja „instrukcji if” w tej specyfikacji.
standard
ECMAScript 3. edycja (ECMA-262)
Definicja „instrukcji if” w tej specyfikacji.
standard
ECMAScript 1. wydanie (ECMA-262)
Definicja „instrukcji if” w tej specyfikacji.
standard początkowa definicja

Kompatybilność z przeglądarką

Tabela zgodności na tej stronie jest generowana na podstawie uporządkowanych danych. Jeśli chcesz wnieść swój wkład w dane, wejdź na https://github.com/mdn/browser-compat-data i wyślij nam pull request.

Zaktualizuj dane zgodności na GitHub

Pulpitmobilnyserwer
ChromBrzegFirefoxInternet ExplorerOperasafariwidok na AndroidaChrome na AndroidaFirefox dla AndroidaOpera na AndroidaSafari na iOSSamsung InternetNode.js
Jeśli inaczejPełna obsługa Chrome 1Krawędź Pełne wsparcie 12Pełna obsługa Firefoksa 1IE Pełne wsparcie 3Opera Pełne wsparcie TakSafari Pełne wsparcie TakPełna obsługa WebView dla systemu Android 1Pełna obsługa Chrome na Androida 18Pełna obsługa Firefoksa na Androida 4Pełna obsługa Opery Android TakSafari iOS Pełna obsługa TakSAMSUNG Internetowy Android Pełne wsparcie 1.0nodejs Pełne wsparcie Tak

Zacznijmy uczyć się instrukcji warunkowych w JavaScript. Tutaj rozważymy konstrukcję If-Else. W tłumaczeniu na język rosyjski ten warunek jest odczytywany jako Jeśli-To.

Ale zanim zaczniemy mówić o warunkach w JavaScript, przyjrzyjmy się, jak i gdzie występują w prawdziwym życiu.

Na przykład, jeśli wieczorem jest pogodnie, pójdziemy do parku.

jeśli ten samochód kosztuje mniej niż 1000 dolarów, to go kupię i tak dalej.

Tak więc, jak zapewne już zrozumiałeś, warunek „Jeżeli” i konsekwencja „Wtedy” są bardzo często spotykane w naszym życiu. Oznacza to, że nasze zachowanie w różnych sytuacjach zależy głównie od dowolnych warunków.

To samo dotyczy języków programowania. Mają specjalne konstrukcje, które pozwalają ustawić określone warunki i wykonać akcje, jeśli określone warunki są spełnione lub nie.

Spróbujmy zaimplementować prosty przykład użycia operatorów warunkowych, a raczej konstrukcji If-Else w JavaScript.

Najpierw przyjrzyjmy się, jak instrukcja If działa w JavaScript.

Aby to zrobić, najpierw podamy przykład poniżej, a następnie go przeanalizujemy.

Moja rodzina i ja idziemy wieczorem do parku

Na co zwrócić uwagę w powyższym przykładzie?

Po pierwsze, znaki równości == i przypisanie = w JavaScript. Należy je rozróżnić: czyli najpierw tworzymy zmienną i przypisujemy jej wartość. Wtedy w warunku If mówimy o równości.

Po drugie, mówiąc o spełnieniu lub niespełnieniu warunku zawartego w nawiasach klamrowych () , należy rozumieć, że język JavaScript również akceptuje warunek Prawda lub Fałsz. Oznacza to, że jeśli warunek ma wartość Prawda, tak jak w naszym przypadku, wykonywana jest akcja ujęta w nawiasy klamrowe ().

Jeśli warunek ma wartość False, jak w poniższym przykładzie, warunek ujęty w nawiasy klamrowe () nie zostanie wykonany.

Tak działa instrukcja warunkowa If: jeśli warunek jest True, akcja jest wykonywana, jeśli jest False, nie zostanie wykonana. Wszystko jest proste.

Porozmawiajmy teraz o tym, jak działa konstrukcja If-Else w JavaScript. Inaczej tłumaczy się jako „W przeciwnym razie”.

Wróćmy do prawdziwego życia. W większości przypadków, jeśli którykolwiek warunek jest spełniony, robimy jedną rzecz. Jeśli nie jest spełniony – „W przeciwnym razie”, to robimy coś innego.

Kontynuujmy podane wcześniej przykłady.

Jeśli wieczorem będzie pogodnie, pójdziemy do parku, w przeciwnym razie (jeśli pochmurno) zostaniemy w domu i pooglądamy telewizję.

Lub jeśli ten samochód kosztuje mniej niż 1000 zł, to go kupię, w przeciwnym razie (jeśli kosztuje więcej) Z tymi pieniędzmi pojadę w podróż.

JavaScript ma również możliwość podania alternatywy ( Zrób coś innego) jeśli warunek nie jest spełniony. W JavaScript możemy tworzyć podobne warunki przy użyciu konstrukcji If-Else. Spójrzmy na przykład.

Zostajemy w domu - oglądamy telewizję

Przeanalizujmy podany przykład.

Tak więc, jeśli warunek ma wartość True, wykonywana jest akcja następująca po instrukcji If, ujęta w nawiasy klamrowe () .

Jeśli warunkiem jest False , wykonywana jest akcja następująca po instrukcji Else, również ujęta w nawiasy klamrowe () .

Widzieliśmy, jak działa prosta, ale powszechna konstrukcja JavaScript If-Else. I tutaj, na przyszłość, należy powiedzieć, że bez względu na to, jak złożony jest warunek, ważne jest przede wszystkim to, czy jest Prawda czy Fałsz.

Aby skonsolidować objęty materiał Instrukcje warunkowe w JavaScript - konstrukcja IF-ELSE Spójrzmy na inny przykład.

Dopiero teraz używamy warunku If-Else podczas pracy z liczbami.

Liczba zmiennych jest mniejsza lub równa 10

Tutaj, podobnie jak w poprzednich przykładach, wszystko jest proste. W tym przypadku zmienna count jest równa 10, co oznacza, że ​​warunek jest TRUE i odpowiedni komunikat jest wyświetlany na ekranie.

W poniższym przykładzie warunek nie jest spełniony: liczba zmiennych jest większa niż 10 , co oznacza, że ​​warunek jest FALSE , co oznacza, że ​​na ekranie wyświetlany jest komunikat następujący po instrukcji Else.

Liczba zmiennych jest większa niż 10

Tak więc tutaj przyjrzeliśmy się najprostszym przykładom użycia operatorów warunkowych w JavaScript. To wszystko - wcale nie jest trudne, konstrukcja If-Else działa.

Weź tablicę znajomych z poprzedniego tematu: var friends = ["Aleksey" , "Wiaczesław" , "Grigory" , "Nastya" , "Paul" ];

Napisz warunek, który sprawdza : jeśli liczba elementów w tablicy jest większa lub równa 3, zostanie wyświetlony komunikat, że jest to duża tablica z co najmniej 3 elementami. W przeciwnym razie wyświetl komunikat, że jest to mała tablica zawierająca mniej niż 3 elementy.

Przed napisaniem warunku testowego musisz pamiętać i wiedzieć, jak policzyć liczbę elementów w tablicy. Pomoże nam w tym właściwość length.

To samo zadanie można było wykonać nieco inaczej, używając krótszej wersji kodu. Zmienna count , która zawiera liczbę elementów tablicy, nie jest wymagana do utworzenia. Zobacz przykład poniżej...

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Subskrybuj, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu