Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

JS: Niestandardowe pętle for

wtorek,

JS: Niestandardowe pętle for

W świecie programowania, pętla 'for' jest niczym stary, dobry przyjaciel – zawsze obecny, niezawodny i gotowy do pracy. Dla wielu programistów, szczególnie tych na początku swojej drogi, jest to jedna z pierwszych struktur sterujących, którą się poznaje i używa. Tradycyjnie, służy do przeglądania tablic, przetwarzania danych, a nawet do prostych operacji iteracyjnych. Jednakże, pod powierzchnią tej pozornie prostej konstrukcji kryją się możliwości, które mogą przekształcić codzienne zadania kodowania w coś znacznie bardziej fascynującego. Odkryj twórcze i mniej konwencjonalne sposoby wykorzystania pętli 'for' w JavaScript. Od podwójnej inicjalizacji i złożonych warunków po pętle bez tradycyjnych elementów — te techniki nie tylko urozmaicą kod, ale także mogą zwiększyć jego wydajność i czytelność.

Zadania pętli for w JavaScript poza standardowym schematem iteracji po liczbach można realizować na różne kreatywne sposoby. Jest bardzo elastyczna i pozwala na wiele różnych modyfikacji standardowej składni.

Przykłady

Każdy z przykładów demonstruje różne sposoby na twórcze wykorzystanie pętli for w JavaScript. Dzięki tej elastyczności pętla for może być dostosowana do rozmaitych potrzeb i scenariuszy programistycznych.

Podwójna inicjalizacja

Możesz zainicjalizować więcej niż jedną zmienną.

for (let i = 0, j = 10; i < 5; i++, j--) {
    console.log(i, j);
}

W tym przykładzie i jest inkrementowane, a j jest dekrementowane w każdej iteracji.

Brak warunku

Brak warunku sprawia, że pętla staje się nieskończona. Aby z niej wyjść, trzeba użyć break.

for (let i = 0; ; i++) {
    console.log(i);
    if (i === 5) break;
}

Ta pętla będzie kontynuowana, dopóki nie napotka instrukcji break.

Inna instrukcja niż inkrementacja/dekrementacja

Możesz użyć innych operacji niż standardowa inkrementacja lub dekrementacja.

for (let i = 1; i < 100; i *= 2) {
    console.log(i);
}

W tym przykładzie i jest podwajane w każdej iteracji.

Brak inicjalizacji

Jeśli zmienna została już wcześniej zainicjalizowana, możesz pominąć inicjalizację.

let i = 0;
for (; i < 5; i++) {
    console.log(i);
}

To jest użyteczne, gdy chcesz użyć zmiennej, która została zainicjalizowana wcześniej.

Puste ciało pętli, operacje w instrukcji

Możesz umieścić wszystkie operacje w instrukcji, zostawiając puste ciało pętli.

for (let i = 0; i < 5; console.log(i++));

W tym przypadku wszystkie operacje (w tym logowanie do konsoli) są wykonane w instrukcji.

Pętla bez inicjalizacji i instrukcji

Możesz pominąć inicjalizację i instrukcję, używając jedynie warunku.

let i = 0;
for (; i < 5; ) {
    console.log(i);
    i++;
}

Pętla for bez inicjalizacji, warunku i instrukcji

Taki typ pętli może wydawać się nieskończony, ale możesz kontrolować jej przebieg za pomocą break wewnątrz ciała pętli.

for (;;) {
    let odpowiedz = prompt("Wpisz 'exit', aby zakończyć pętlę");
    if (odpowiedz === "exit") {
        break;
    }
}

W tym przykładzie pętla będzie kontynuowana, dopóki użytkownik nie wpisze "exit".

Pętla for ze złożonym warunkiem

Możesz użyć bardziej skomplikowanych warunków, aby kontrolować przebieg pętli.

for (let i = 0, j = 10; i < 10 && j > 0; i++, j -= 2) {
    console.log(`i: ${i}, j: ${j}`);
}

Ta pętla inkrementuje i i dekrementuje j równocześnie kontynuując dopóki oba warunki są spełnione.

Pętla for z niekonwencjonalną „inkrementacją”

Możesz modyfikować licznik pętli w nietypowy sposób.

for (let i = 0; i < 100; i = i * 2 + 1) {
    console.log(i);
}

W tym przykładzie wartość i jest modyfikowana według wzoru i = i * 2 + 1 w każdej iteracji.

Pętla for z warunkiem zależnym od zewnętrznej zmiennej

Możesz użyć zewnętrznej zmiennej do kontrolowania warunku pętli.

let warunek = true;
for (let i = 0; warunek; i++) {
    console.log(i);
    if (i > 5) {
        warunek = false;
    }
}

W tym przypadku pętla kontynuuje działanie, dopóki zmienna warunek jest true.

Pętla for z wielokrotną inkrementacją

Możesz wykonać więcej niż jedną operację inkrementacji/dekrementacji w instrukcji.

for (let i = 0, j = 0; i < 10; i++, j += 2) {
    console.log(`i: ${i}, j: ${j}`);
}

Tutaj i jest inkrementowane o 1, a j o 2 w każdej iteracji pętli.

Artykuł: Kolejne dni w Granadzie

Kolejne dni w Granadzie

Artykuł: Netplan

Netplan

Artykuł: Staże w Granadzie

Staże w Granadzie

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły