Perintah break dan continue ECMAScript
- Halaman Sebelumnya Pernyataan break
- Halaman Berikutnya Pernyataan with
Pernyataan break dan continue menyediakan kontrol yang lebih ketat atas eksekusi kode dalam pengulangan.
Perbedaan antara pernyataan break dan continue
Pernyataan break dapat keluar dari pengulangan segera, menghentikan pengulangan kembali melaksanakan kode lain.
Pernyataan continue hanya keluar dari pengulangan saat ini, tetapi memungkinkan untuk melanjutkan pengulangan berikutnya berdasarkan ekspresi kontrol.
Contoh:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) { break; } iNum++; } alert(iNum); //Output "4"
Dalam kode di atas, pengulangan for dari 1 sampai 10 mengiterasi variabel i. Dalam inti pengulangan, pernyataan if akan (dengan operator modulus) memeriksa apakah nilai i dapat dibagi dengan 5. Jika dapat dibagi, pernyataan break akan dijalankan. alert menunjukkan "4", yang berarti kali pengulangan yang dijalankan sebelum keluar dari pengulangan.
Jika digantikan dengan pernyataan continue untuk contoh ini, hasilnya akan berbeda:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) { continue; } iNum++; } alert(iNum); //Output "8"
Di sini, alert akan menunjukkan "8", yang berarti kali pengulangan yang dijalankan. Jumlah pengulangan yang mungkin dijalankan adalah 9, tetapi saat nilai i adalah 5, pernyataan continue akan dijalankan, yang akan membuat pengulangan melompat ekspresi iNum++ kembali ke awal pengulangan.
Dengan pernyataan berlabel
Pernyataan break dan continue boleh digunakan bersama-sama dengan pernyataan berlabel untuk kembali ke lokasi khusus dalam kod.
Biasanya, ketika terdapat perulangan di dalam perulangan, hal ini akan seperti ini, contohnya:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { break outermost; } iNum++; } } alert(iNum); //Keluaran "55"
Dalam contoh di atas, label outermost menunjukkan pernyataan for pertama. Dalam keadaan biasa, setiap pernyataan for menjalankan blok kod 10 kali, yang berarti iNum++ akan dijalankan 100 kali secara biasa, dan setelah selesai, iNum harus sama dengan 100. Di sini, pernyataan break mempunyai parameter, iaitu label yang akan dihentikan setelah perulangan berakhir. Demikian pula, pernyataan break bukan hanya dapat keluar dari pernyataan for internal (iaitu penggunaan pemboleh bantuan j), tetapi juga dapat keluar dari pernyataan for luaran (penggunaan pemboleh bantuan i). Oleh itu, nilai akhir iNum adalah 55, kerana ketika nilai i dan j sama dengan 5, perulangan akan berhenti.
Pernyataan continue boleh digunakan dengan cara yang sama:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { continue outermost; } iNum++; } } alert(iNum); //Keluaran "95"
Dalam contoh di atas, pernyataan continue akan mendorong perulangan untuk terus berlanjut, bukan hanya dalam perulangan internal, tetapi juga dalam perulangan luaran. Kiedy j sama dengan 5, berarti perulangan internal akan mengurangkan 5 pengulangan, sehingga nilai iNum adalah 95.
Petikan:Dapat dilihat, pernyataan berlabel yang digunakan bersama break dan continue sangat kuat, tetapi penggunaannya terlalu berlebihan boleh menyebabkan kesulitan dalam pembedahan kod. Pastikan label yang digunakan mempunyai makna yang jelas, dan jangan terlalu tingkat pengecaman dalam lingkungan perulangan.
Petikan:Untuk mengetahui apa itu pernyataan berlabel, sila baca Perintah Tag ECMAScript Bagian ini.
- Halaman Sebelumnya Pernyataan break
- Halaman Berikutnya Pernyataan with