• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy w JS ma znaczenie else if ?

Object Storage Arubacloud
–1 głos
224 wizyt
pytanie zadane 27 listopada 2015 w C i C++ przez Munvik Dyskutant (9,350 p.)
Witam. Moje pytanie jest banalne i dla większości banalnie banalne...

Chodzi mi o to, czy piszać w JS, gdy mam funkcję mam:

if (liczba<0) document.getElementById("wynik").innerHTML="ujemna";
if (liczba>0) document.getElementById("wynik").innerHTML="dodatnia";

To w drugiej linijce powinno być else if ?

Działa tak i tak, jest w czymś różnica ?

2 odpowiedzi

0 głosów
odpowiedź 27 listopada 2015 przez Munvik Dyskutant (9,350 p.)
wybrane 29 listopada 2015 przez Munvik
 
Najlepsza
Zależy mi na szczegółach bo lubię wiedzieć dużo o tym co robię.
komentarz 27 listopada 2015 przez Józef Mądrala (5,200 p.)
W przedstawionym przez Ciebie zapisie najpierw zostanie sprawdzony pierwszy warunek. Jeżeli okaże się, że faktynie liczba jest mniejsza od 0, to zostanie podmieniona zawartość elementu. Następnie zostanie wykonana druga linia kodu, czyli kolejne sprawdzenie wartości zmiennej liczba i ustalenie, czy jest większa od 0. Jeżeli w pierwszym przypadku okazało się, że liczba jest mniejsza od 0, to tutaj z automatu warunek będzie fałszywy i polecenie nie zostanie wykonane (i vice versa - fałszywość warunku w pierwszym if będzie za sobą pociągała (poza przypadkiem, gdy liczba jest równa 0) prawdziwość warunku w drugim). Ważne jest tutaj to, że kolejne ify będą sprawdzane niezależnie od prawdziwości/fałszywości pozostałych - program wykonuje tu więcej niepotrzebnej pracy.

Gdybyś zamiast tego skorzystał z if...else (tak jak zaleca writen), to prawdziwość pierwszego ifa sprawia automatycznie, że warunek z drugiego nie będzie w ogóle sprawdzany. Natomiast w przypadku jego fałszywości od razu wykonamy instrukcję z drugiego.

W powyższym przypadku warto też dodać kolejny warunek dla liczby 0:

if (liczba<0) document.getElementById("wynik").innerHTML="ujemna";

else if (liczba==0) document.getElementById("wynik").innerHTML="zero";

else document.getElementById("wynik").innerHTML="dodatnia";

W ten sposób zabezpieczamy się przed sytuacją, w której program nie będzie widział, co wpisać do elementu.
komentarz 29 listopada 2015 przez Munvik Dyskutant (9,350 p.)
Dzięki kolego !

Takie odpowiedzi się szanuje !
+1 głos
odpowiedź 27 listopada 2015 przez writen Nałogowiec (29,060 p.)
W tym konkretnym przypadku wypadałoby dać else if. Po co drugi warunek ma być sprawdzany, gdy ten pierwszy będzie prawdziwy?

Podobne pytania

0 głosów
2 odpowiedzi 353 wizyt
pytanie zadane 27 listopada 2020 w Java przez NieMamPomyslu Początkujący (300 p.)
+2 głosów
1 odpowiedź 3,557 wizyt
0 głosów
2 odpowiedzi 153 wizyt
pytanie zadane 20 czerwca 2020 w HTML i CSS przez mb-dir Mądrala (6,710 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...