Dari pembelajaran sebelumnya tentang perulangan, kita mengetahui bahwa secara default perulangan akan otomatis keluar ketika hasil ekspresi salah, jika tidak, perulangan akan dilanjutkan. Dalam beberapa kasus, kita tidak perlu menunggu loop keluar secara otomatis, tetapi kita dapat keluar dari loop secara aktif. JavaScript menyediakan dua pernyataan, break dan continue, untuk keluar dari loop dan keluar (lewati) loop saat ini.
1. pernyataan continue
Pernyataan continue digunakan untuk melewati perulangan ini dan menjalankan perulangan berikutnya. Ketika menemukan pernyataan continue, program akan segera menguji ulang ekspresi kondisional. Jika hasil ekspresi benar, perulangan berikutnya akan dimulai. Jika hasil ekspresi salah, perulangan akan keluar.
[Contoh 1] Gunakan pernyataan continue untuk keluar dari perulangan for:
<script type="text/javascript"> untuk (var saya = 1; saya < 10; saya++) { jika(saya % 2 != 0) { melanjutkan; } konsol.log(i); } </script>
Analisis:
for (var i = 0; i < 10; i++){}
dapat diulang untuk mendapatkan semua angka antara 1 dan 10.
Pernyataan if(i % 2 != 0)
digunakan untuk menentukan nilai i Bisakah habis dibagi 2? Jika tidak, maka nilai di ()
adalah benar, dan pernyataan continue;
Di badan perulangan, gunakan pernyataan if(i % 2 == 0)
untuk membuat penilaian. Jika nilai i
dapat dibagi rata dengan 2, gunakan " console.log(i);
" untuk menghasilkan nilai if dari i
tidak dapat dibagi 2 secara merata, picu pernyataan continue;
, keluar dari loop ini (tidak ada output), dan jalankan loop berikutnya.
Hasil keluaran:
2. Pernyataan break
Pernyataan break digunakan untuk melompat keluar dari struktur sintaksis saat ini. Pernyataan ini dapat mengakhiri kode badan perulangan dan segera keluar dari perulangan saat ini, dan mengeksekusi kode setelah perulangan (jika ada).
Perbedaan antara break dan continue adalah pernyataan continue hanya mengakhiri perulangan saat ini, sedangkan pernyataan break mengakhiri eksekusi seluruh perulangan.
Jika kita terus menggunakan kode pada Contoh 1 di atas dan mengganti continue;
dengan break;
apa yang akan dihasilkan?
<skrip tipe="teks/javascript"> untuk (var saya = 1; saya < 10; saya++) { jika(saya % 2 != 0) { merusak; } konsol.log(i); } </script>
Jawabannya adalah: tidak menghasilkan apa-apa . Mengapa ini terjadi? Mari kita analisa:
Di awal perulangan forx, i=1
, apakah 1 kurang dari 10? Tentu saja, pernyataan if(i % 2 != 0)
di badan perulangan mulai dieksekusi;
lalu bisakah 1 membagi 2? Jelas tidak bisa, jadi jika nilai dalam ()
benar, pernyataan " break;
" di if dieksekusi, melompat keluar dari seluruh loop secara langsung, dan tidak ada peluang untuk mengeksekusi perintah " console.log(i);
" penyataan.
3. Perulangan Bersarang
Perlu dicatat bahwa break
dan continue
hanya berlaku untuk perulangan saat ini. Jika kita memiliki loop yang bersarang, kita harus berhati-hati. Mari kita lihat contoh berikut:
for (misalkan i = 0; i < 5; i++) { jika (i % 2 == 0) lanjutkan; untuk (misalkan j = 0; j < 5; j++) { jika (j == 2) putus; konsol.log(`i = ${i}, j = ${j}`); } }
Di sini kita memiliki dua loop, masing-masing dieksekusi 5 kali (0~4). Jika i bilangan genap, perulangan terluar melewati perulangan saat ini dan menjalankan perulangan berikutnya. Artinya, hanya jika i bernilai 1 atau 3, perulangan bagian dalam akan dieksekusi.
Perulangan bagian dalam berakhir selama nilai j adalah 2. Oleh karena itu, j hanya memiliki 0 dan 1.
Hasil akhirnya adalah sebagai berikut:
4. Tag JavaScript
Mulai dari JavaScript 1.2, tag dapat digunakan bersama dengan break dan terus mengontrol eksekusi program dengan lebih akurat.
Tag di JavaScript berbeda dengan tag di HTML. Tag di JavaScript adalah pengenal (mirip dengan nama variabel) yang diikuti dengan titik dua :. Tag JavaScript dapat dideklarasikan sebelum pernyataan atau blok kode apa pun, dan digunakan bersama dengan break atau terus melompat keluar dari loop tertentu, misalnya, ketika beberapa loop disarangkan, penggunaan break hanya dapat melompat keluar dari loop saat ini, tapi bukan loop terluar. Jika Anda menggunakan break dengan label, Anda dapat keluar dari beberapa level loop sekaligus.
Contoh kodenya adalah sebagai berikut:
<script type="text/javascript"> document.write("Mulai perulangan!<br /> "); outerloop: //Tentukan label untuk (var i = 0; i < 5; i++) { document.write("Loop luar : " + i + "<br />"); innerloop: // Tentukan label untuk (var j = 0; j < 5; j++) { if (j > 3) break; // Keluar dari loop dalam if (i == 2) break innerloop; // Keluar dari pesan dalam if (i == 4) break innerloop; loop luar document.write( "Loop dalam: " + j + " <br />"); } } document.write("Akhir perulangan!<br /> "); </skrip>
Catatan: Tidak boleh ada baris baru antara break atau continue dan label. Selain itu, tidak ada kode lain yang dapat muncul di antara nama label dan loop terkait.
[Pembelajaran yang Direkomendasikan: Tutorial Tingkat Lanjut JavaScript]
Di atas adalah detail konten pembelajaran loop JS: pernyataan break dan continue untuk keluar dari loop. Untuk informasi lebih lanjut, harap perhatikan artikel terkait lainnya di situs web PHP Mandarin!