Wpis z mikrobloga

Uczę się while loops na codeacademy i troche mnie kabanosza:

understand = true;

while(understand){
console.log("I'm learning while loops!");
//Change the value of 'understand' here!
understand = false
}

Chodzi o to, zeby z czasem petla dawala wynik negatywny, bo w przeciwnym wypadku sie #!$%@? przegladarka (petla dziala bez konca).

Moje pytanie - w jaki sposob w ogole to #!$%@? dziala? :D Na jakiej zasadzie dziala ta petla, ze nagle z true przechodzi w false? Mialem wczesniej "for" loops i tam po prostu pisalem co ma robic i pod jakim warunkiem a tutaj jest yulko u jedno slowo z dupy w nawiasie ( while(understand) ). Nie czaje tego

#javascript
  • 13
@jegertilbake: idąć od góry kodu, najpierw jest sprawdzany warunek: "czy zmienna suma jest <= 100" jeśli TAK (true) to wykonuj kod w pętli po kolei, jesśli NIE (false) nie wchodz w pętle... czyli jeśli mamy zdanie "czy zmienna suma jest <= 100" to jaki jest WYNIK LOGICZNY tego zdania, jeżeli w danym momencie suma = 0 to mamy 0<=100 co jest PRAWDĄ czyli wyrażenie w nawiasie ma wartość TRUE
while(understand)


@jegertilbake:
1.pod to sprawdzane 'understand' podstawiana jest wartość określona na wstępie jako "understand = true;", czyli pętla rusza
2. wyświetlenie informacji "console.log("I'm learning while loops!");"
3. wartość początkowego "understand = true;" zmieniamy na false w linii "understand = false".
4. Pętla dochodzi do końca przebiegu i ponownie wracamy do sprawdzenia czy spełniony jest warunek "while(understand)" (czyli while(understand==true)), a ponieważ w kroku 3 został ustawiony na false to pętla nie rusza
@jegertilbake: no tak, bo understand to zmienna, która ma jakaś wartość na początku ma wartość TRUE wieć pętla się wykonuje, potem wartość recznie zmieniasz na FALSE, kiedy w nastepnym krou pętla sprawdza warunek wynosi on FALSE więć pętla się już nie wykonuje i wychodzi