JavaScript – pętle.

article-thumbnail

Załóżmy taką sytuację, mamy do napisania program typu lista zadań. Aplikacja ma odczytać informację z jakiegoś rodzaju pamięci, a następnie wyświetlić pewną, zmienną liczbę zadań. Nie możemy założyć że zawsze będzie ich tyle samo. Ponadto przepisywanie kodu n razy jest po prostu bezsensowne. W celu automatyzacji powtarzalnych operacji stworzono koncepcję pętli. W tym wpisie omówię trzy z nich. Będą to kolejno pętla for, while i do…while.

Na początek polecałbym zapoznać się z odpowiednim wpisem na naszym blogu z serii teoria programowania. Bez wątpienia pozwoli lepiej zrozumieć, o czym będzie mowa poniżej.

Pętla For

Pętla for służy do operowania na liczbach. Pozwala na łatwe określenie ile razy pętla ma się wykonać. W tym rodzaju pętli definiujemy trzy elementy które będą kontrolować pętlę. Pierwszym z nich jest zdefiniowanie zmiennej, na której pętla będzie operować. Następnie definiujemy warunek kontynuowania pętli. A na końcu jak ma zmienić się wartość pętli w kolejnej iteracji. Oto przykładowa implementacja pętli for.

<script>
  for(let i=0,i<10;i++)
  {
      document.write(i);
      document.write("<br>");
  } 
</script>

Powyższa pętla wykona się 10 razy, wypisując w konsoli wartości od 0 do 9. Dla wartości i większego lub równego 10, pętla już się nie wykona.

Pętla While

Pod względem budowy pętla while, jest prostsza od for, jednak nie mniej użyteczna. W tej pętli definiujemy tylko warunek kontynuowania pętli. Oznacza to, że jeżeli chcemy, by pętla wykonała się określoną ilość razy, musimy najpierw zdefiniować na zewnątrz niej zmienną, której będzie dotyczył warunek. Następnie już wewnątrz pętli musimy zmieniać jej wartość. Pozwoli to uzyskać efekt identyczny do pętli for. Jednak zadaniem tej pętli bynajmniej nie jest naśladowanie for’a. Możemy jej użyć, gdy chcemy by pętla wykonywała się zawsze, albo do czasu jakiegoś zdarzenia. Definicja pętli while wygląda tak:

<script>
  //Taka pętla zastąpi pętlę for(let i=4;i>0;i--)
  let i = 4
  while(i>0)
  {
      i--;
  }

  //Taka pętla będzie wykonywać się w nieskończoność.
  while(true)
  {
     document.write("pętla się wykonuje")
  }
</script>

Pętla do…while

Pętla do…while. to nic innego jak pętla while, która najpierw się wykonuje, a dopiero później sprawdza czy ma wykonać się jeszcze raz. Spójrzmy na poniższy kod:

<script>
  let i = 11
  while(i<=10)
  {
      console.log(i);    
      i--;
  }

  let j = 11;
  do
  {
      console.log(j)
      j--;
  }
  while(j<=10)
</script>

W powyższym przykładzie pętla while nie wykona się ani razu, natomiast pętla while będzie się wykonywać.