Samouczek JS

JS DOM Wprowadzenie do JS JS Dokąd Wyjście JS Oświadczenia JS Składnia JS Komentarze JS Zmienne JS JS Let JS Const Operatorzy JS Arytmetyka JS Zadanie JS Typy danych JS Funkcje JS Obiekty JS Wydarzenia JS JS Strings Metody ciągów JS Wyszukiwanie ciągów JS Szablony JS String Numery JS Metody liczbowe JS Tablice JS Metody tablic JS Sortowanie tablic JS Iteracja tablicy JS JS Array Const JS Daty Formaty daty JS JS Data Pobierz metody Metody ustawiania daty JS Matematyka JS JS losowo JS Booleans Porównania JS Warunki JS Przełącznik JS Pętla JS dla Pętla JS dla In Pętla JS dla Of Pętla JS, podczas gdy Przerwa JS Iterable JS Zestawy JS Mapy JS Typ JS Konwersja typu JS JS Bitwise JS RegExp Błędy JS Zakres JS JS Podnoszenie Tryb ścisły JS JS to słowo kluczowe Funkcja strzałki JS Klasy JS JS JSON Debugowanie JS Przewodnik po stylu JS Najlepsze praktyki JS Błędy JS Wydajność JS JS słowa zastrzeżone

Wersje JS

Wersje JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Krawędź Historia JS

Obiekty JS

Definicje obiektów Właściwości obiektu Metody obiektowe Wyświetlanie obiektów Akcesoria do obiektów Konstruktorzy obiektów Prototypy obiektów Iterowalne obiekty Zestawy obiektów Mapy obiektów Odniesienie do obiektu

Funkcje JS

Definicje funkcji Parametry funkcji Wywołanie funkcji Wywołanie funkcji Funkcja Zastosuj Zamknięcia funkcji

Klasy JS

Wprowadzenie do zajęć Dziedziczenie klas Klasa statyczna

JS Async

Oddzwaniania JS Asynchroniczny JS JS Obietnice JS Async/Oczekiwanie

JS HTML DOM

Wprowadzenie do DOM Metody DOM Dokument DOM Elementy DOM DOM HTML Formularze DOM DOM CSS Animacje DOM Wydarzenia DOM Odbiornik zdarzeń DOM Nawigacja DOM Węzły DOM Kolekcje DOM Listy węzłów DOM

Zestawienie komponentów przeglądarki JS

Okno JS Ekran JS Lokalizacja JS Historia JS JS Navigator Wyskakujący alert JS Czas JS Pliki cookie JS

JS Web API

Wprowadzenie do internetowego interfejsu API Interfejs API formularzy internetowych Interfejs API historii online API przechowywania danych w sieci Web Web Worker API Internetowy interfejs API pobierania Internetowy interfejs API geolokalizacji

JS AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

JS JSON

Wprowadzenie do JSON Składnia JSON JSON a XML Typy danych JSON Analiza JSON JSON Obiekty JSON Tablice JSON Serwer JSON JSON PHP JSON HTML JSON JSONP

JS kontra jQuery

Selektory jQuery jQuery HTML jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS płótno JS Działka JS Chart.js Wykres JS Google JS D3.js

Przykłady JS

Przykłady JS JS HTML DOM Wejście JS HTML Obiekty HTML JS Wydarzenia JS HTML Przeglądarka JS Edytor JS Ćwiczenia JS JS Quiz Certyfikat JS

Referencje JS

Obiekty JavaScript Obiekty HTML DOM


JavaScript dla pętli


Pętle mogą wykonać blok kodu wiele razy.


Pętle JavaScript

Pętle są przydatne, jeśli chcesz uruchamiać ten sam kod w kółko, za każdym razem z inną wartością.

Często dzieje się tak podczas pracy z tablicami:

Zamiast pisać:

text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";

Możesz pisać:

for (let i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

Różne rodzaje pętli

JavaScript obsługuje różne rodzaje pętli:

  • for - wielokrotnie przechodzi przez blok kodu
  • for/in - pętle przez właściwości obiektu
  • for/of - pętle przez wartości iterowalnego obiektu
  • while - pętle przez blok kodu, gdy określony warunek jest spełniony
  • do/while - zapętla się również przez blok kodu, gdy określony warunek jest prawdziwy

Pętla for

Pętla forma następującą składnię:

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

Instrukcja 1 jest wykonywana (jednorazowo) przed wykonaniem bloku kodu.

Instrukcja 2 określa warunek wykonania bloku kodu.

Instrukcja 3 jest wykonywana (za każdym razem) po wykonaniu bloku kodu.

Przykład

for (let i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

Z powyższego przykładu możesz przeczytać:

Instrukcja 1 ustawia zmienną przed rozpoczęciem pętli (niech i = 0).

Instrukcja 2 definiuje warunek uruchomienia pętli (i musi być mniejsze niż 5).

Instrukcja 3 zwiększa wartość (i++) za każdym razem, gdy blok kodu w pętli został wykonany.



Stwierdzenie 1

Normalnie użyjesz instrukcji 1 do zainicjowania zmiennej używanej w pętli (niech i = 0).

Nie zawsze tak jest, JavaScript to nie obchodzi. Stwierdzenie 1 jest opcjonalne.

W instrukcji 1 możesz zainicjować wiele wartości (oddzielonych przecinkiem):

Przykład

for (let i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}

I możesz pominąć instrukcję 1 (jak wtedy, gdy twoje wartości są ustawione przed rozpoczęciem pętli):

Przykład

let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

Stwierdzenie 2

Często stwierdzenie 2 służy do oceny stanu zmiennej początkowej.

Nie zawsze tak jest, JavaScript to nie obchodzi. Stwierdzenie 2 jest również opcjonalne.

Jeśli instrukcja 2 zwróci true, pętla zacznie się od nowa, jeśli zwróci false, pętla się zakończy.

Jeśli pominiesz instrukcję 2, musisz zapewnić przerwę wewnątrz pętli. W przeciwnym razie pętla nigdy się nie skończy. Spowoduje to awarię przeglądarki. Przeczytaj o przerwach w kolejnym rozdziale tego samouczka.


Stwierdzenie 3

Często instrukcja 3 zwiększa wartość zmiennej początkowej.

Nie zawsze tak jest, JavaScript to nie obchodzi, a instrukcja 3 jest opcjonalna.

Zdanie 3 może zrobić cokolwiek, na przykład przyrost ujemny (i--), przyrost dodatni (i = i + 15) lub cokolwiek innego.

Stwierdzenie 3 można również pominąć (jak wtedy, gdy zwiększasz swoje wartości w pętli):

Przykład

let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
  text += cars[i] + "<br>";
  i++;
}

Zakres pętli

Korzystanie varw pętli:

Przykład

var i = 5;

for (var i = 0; i < 10; i++) {
  // some code
}

// Here i is 10

Korzystanie letw pętli:

Przykład

let i = 5;

for (let i = 0; i < 10; i++) {
  // some code
}

// Here i is 5

W pierwszym przykładzie, używając var, zmienna zadeklarowana w pętli ponownie deklaruje zmienną poza pętlą.

W drugim przykładzie, używając let, zmienna zadeklarowana w pętli nie powoduje ponownej deklaracji zmiennej poza pętlą.

Gdy letjest używany do deklarowania zmiennej i w pętli, zmienna i będzie widoczna tylko w pętli.


Pętle For/O i For/In

Pętla for/ini for/ofpętla są wyjaśnione w następnym rozdziale.


Podczas gdy pętle

Pętla whilei te do/whilesą wyjaśnione w następnych rozdziałach.


Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Utwórz pętlę, która biegnie od 0 do 9.

let i;
 ( = ;  < ; ) {
  console.log(i);
}