Wpis z mikrobloga

#javascript #webdev #programowanie

Instrukcje warunkowe.
O ile używanie nie sprawia mi problemu to....
Właśnie się zorientowałem że nie wiem dokładnie jak działa instrukcja warunkowa. (ʘʘ)

Np.:
var a = false;
var b = false;
var c = true;
if(a || b && c){}

Pierwszy sposób:
var d = a || b // zwraca false
var e = b && c // zwraca false
var f = d && e // zwraca false
f // niespełniony

Drugi sposób:
var d = a || b // zwraca false
var e = d && c // zwraca false
e // niespełniony

W który sposób? Czy może jeszcze inny?
Pokażcie przykład który to wykazuje.
  • 13
  • Odpowiedz
tak, te operatory są sobie równe, więc lecimy od lewej strony. Czyli twój if wyglada tak:
if ( (a || b) && c )
if ( (false || false) && true) -> (false && true) -> false
@KuszacaWoda tez miale problem zeby zrozumiec o co tam chodzi :D
  • Odpowiedz
@look997: operator && jest logicznym odpowiednikiem mnożenia, a || odpowiada dodawaniu, czyli:

var a = false; var b = false; var c = true;
if(a || b && c) {}

jest podobne do

var a = 0; var b = 0; var c = 1;
if(a + b * c > 0) {}

Teraz sam możesz sobie odpowiedzieć.
  • Odpowiedz
@look997 cieżko mi było zrozumieć, ale sie udało w końcu ;p (twój przykład zwraca false w obu przypadkach: równe bądź nie || i &&)
@Bizley nie myli sie ten kto nic nie robi :) Faktycznie, mój błąd. Zawsze myślałem że są równe.
  • Odpowiedz