Pernyataan Break dan Continue ECMAScript

Pernyataan break dan continue menyediakan kontrol yang lebih ketat bagi eksekusi kode dalam pengulangan.

Perbedaan antara pernyataan break dan continue

Pernyataan break dapat keluar dari pengulangan segera, menghentikan pengulangan ulang apapun.

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);	//menampilkan "4"

Pada kode di atas, pengulangan for dari 1 sampai 10 mengulangi variabel i. Dalam badan pengulangan, pernyataan if akan (dengan operator modulus) memeriksa apakah nilai i dapat dibagi dengan 5. Jika dapat dibagi, pernyataan break akan dijalankan. alert menampilkan "4", yang artinya jumlah pengulangan yang dijalankan sebelum keluar dari pengulangan.

Jika mengganti pernyataan break di contoh ini dengan pernyataan continue, hasilnya akan berbeda:

var iNum = 0;
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    continue;
  }
  iNum++;
}
alert(iNum);	//menampilkan "8"

Di sini, alert akan menampilkan "8", yang artinya jumlah pengulangan yang dijalankan. Jumlah pengulangan yang mungkin dijalankan adalah 9, tetapi saat nilai i adalah 5, pernyataan continue akan dijalankan, sehingga menghindari ekspresi iNum++ dan kembali ke awal pengulangan.

Dengan pernyataan dengan tag

Pernyataan break dan continue dapat digunakan bersama dengan pernyataan dengan tag untuk kembali ke posisi tertentu di kode.

Biasanya, saat ada perulangan di dalam perulangan, hal ini akan seperti ini, misalnya:

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, tag outermost menggambarkan pernyataan for pertama. Dalam keadaan normal, setiap pernyataan for menjalankan blok kode 10 kali, yang berarti iNum++ secara normal akan dijalankan 100 kali, dan saat selesai, iNum harus sama dengan 100. Disini pernyataan break memiliki parameter, yaitu tag yang akan dijauhkan saat perulangan berhenti. Demikian pula pernyataan break hanya dapat keluar dari pernyataan for internal (yaitu yang menggunakan variabel j), tetapi juga dapat keluar dari pernyataan for eksternal (yaitu yang menggunakan variabel i). Oleh karena itu, nilai akhir iNum adalah 55, karena saat nilai i dan j sama dengan 5, perulangan akan berhenti.

Pernyataan continue dapat 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 perulangan internal, tetapi juga perulangan eksternal. Kapan j sama dengan 5, berarti perulangan internal akan mengurangi 5 iterasi, sehingga nilai iNum adalah 95.

Petunjuk:Dapat dilihat, pernyataan dengan tag yang digunakan bersama break dan continue sangat kuat, namun penggunaannya berlebihan dapat membawa masalah dalam depan debug kode. Pastikan tag yang digunakan mempunyai arti yang jelas, dan jangan terlalu menarik berbagai tingkat perulangan.

Petunjuk:Untuk mengetahui apa itu pernyataan dengan tag, baca Pernyataan Tag ECMAScript Bagian ini.