memiliki dampak langsung pada hasil urutan eksekusi setiap kode. Seringkali kita harus mengontrol urutan eksekusi kode untuk mencapai fungsi yang ingin kita
selesaikan : kontrol aliran adalah untuk mengontrol kita. Dalam urutan apa kode tertulis harus dieksekusi untuk mencapai tujuan kita.
Ada tiga struktur utama dalam pengendalian proses: struktur sekuensial, struktur cabang, dan struktur loop. Ketiga struktur ini mewakili urutan eksekusi kode.
Struktur sekuensial adalah kontrol proses yang paling sederhana dan paling dasar dalam program. Kode-kode yang kami tulis sebelumnya semuanya termasuk dalam struktur sekuensial (yaitu, dijalankan dari atas ke bawah). urutan kode. Secara berurutan,
. Dalam proses mengeksekusi kode dari atas ke bawah, kode jalur yang berbeda dieksekusi sesuai dengan kondisi yang berbeda (proses memilih salah satu dari beberapa kode eksekusi), sehingga diperoleh hasil yang berbeda.
1.21 Bahasa js menyediakan dua struktur cabang. Pernyataan
// Jalankan kode jika kondisinya benar, jika tidak, jangan lakukan apa pun
if (ekspresi kondisional) {
//Bahasa kode untuk eksekusi ketika kondisi ditetapkan == Jalankan hanya jika ekspresi kondisional benar
}
Pernyataan dapat dipahami sebagai suatu perilaku. Pernyataan loop dan pernyataan cabang adalah pernyataan tipikal. Sebuah program terdiri dari banyak pernyataan , akan dibagi menjadi
demonstrasi kode
Pernyataan satu per satuvar age=19; jika(umur>=18){ console.log('Anda sudah dewasa'); //Keluaran anda sudah dewasa, karena umur=19;, jika lebih dari 18 maka pernyataan pada if akan dieksekusi } var umur=1; jika(umur>=18){ console.log('Anda sudah dewasa'); //Tidak menghasilkan apa pun. age=1;<18, statement pada if tidak akan dieksekusi, sehingga tidak ada
proses eksekusi
}struktur sintaks
pernyataan if else (pernyataan cabang ganda)//Jika kondisi ditetapkan, jalankan kode di if, jika tidak, jalankan kode di else
if (ekspresi kondisional) {
//Kode yang akan dieksekusi memenuhi ketentuan
}else{
//Kode yang tidak memenuhi syarat eksekusi
}
Proses eksekusi
Demonstrasi kode
var age=prompt('Silahkan masukkan umur Anda');//Input pengguna if(age>=18){ console.log('Anda bisa minum sekarang'); }kalau tidak{ console.log('Maaf, anak di bawah umur hanya boleh minum kalsium AD'); } //Menilai apakah tahun tersebut merupakan tahun berjalan var year=prompt('Silakan masukkan tahunnya:'); if(tahun%4==0&&tahun%100!=0||tahun%400==0){ alert('Tahun yang anda masukkan adalah tahun kabisat'); }kalau tidak{ alert('Tahun yang anda masukkan adalah tahun biasa'); }Versi super canggih dari
struktur sintaks
// Cocok untuk memeriksa beberapa kondisi
if (ekspresi kondisional) {
Pernyataan 1;
}else if(ekspresi kondisional){
Pernyataan 2;
}else if(ekspresi kondisional){
Pernyataan 3;
…
}lainnya{
//Jalankan kode ini jika kondisi di atas tidak terpenuhi
}
Kontrol proses
Demonstrasi kode
//Kalkulator mini: masukkan dua angka dan simbol operasi untuk mendapatkan yang sesuai var yi = +prompt('Silakan masukkan angka pertama'); //Silakan gunakan penjumlahan, pengurangan, perkalian dan pembagian untuk secara implisit mengkonversi ke tipe numerik, atau gunakan bilangan bulat praseInt (variabel) atau parsefloat (variabel) dan angka floating point var fuhao = prompt('Silakan masukkan operator'); var er = +prompt('Masukkan angka kedua'); jika (fuhao == '+') { var shu = yi + er; } lain jika (fuhao == '-') { var shu = yi - eh; } lain jika (fuhao == '/') { var shu = yi / er; } lain jika (fuhao == '*') { var shu = yi * er; } lain jika (fuhao == '%') { var shu = yi % eh; } kalau tidak { alert('Silakan masukkan sesuai kebutuhan:'); } alert(shu);
switch
juga merupakan pernyataan multi-cabang. Ini digunakan untuk mengeksekusi kode yang berbeda berdasarkan kondisi yang berbeda.
ekspresi) {
case value1:
//Kode yang akan dieksekusi ketika ekspresi sama dengan nilai1
break;
case value2:
//Kode yang akan dieksekusi ketika ekspresi sama dengan nilai2
break;
//
Kode yang akan dieksekusi ketika ekspresi tidak sama dengan nilai apa pun
}
Kontrol proses
Demonstrasi kode
var buah =prompt('Silakan masukkan buah yang ingin dibeli:'); beralih(buah){ kasus 'apel': alert('Harga apel: 3,5/kati'); merusak; kasus 'leci': alert('Harga buah leci : 10,5/jin'); merusak; bawaan: alert('Tidak ada buah'); }
Perhatikan
Perbedaan antara pernyataan switch dan pernyataan if else if.
Secara umum, kedua pernyataan dapat dikonversi menjadi satu sama lain.
Switch... pernyataan kasus biasanya ditangani situasi di mana case adalah perbandingan untuk menentukan nilai, sedangkan pernyataan if...else... lebih Fleksibel, sering digunakan untuk penilaian rentang (lebih besar dari, sama dengan rentang tertentu).
Pernyataan switch melakukan penilaian bersyarat dan langsung mengeksekusi pernyataan kondisional dari program, yang lebih efisien. Namun, pernyataan if...else... memiliki beberapa kondisi dan harus dinilai berkali-kali.
Ketika jumlah cabang lebih sedikit, efisiensi eksekusi pernyataan if...else... lebih tinggi daripada pernyataan switch.
Ketika ada banyak cabang, efisiensi eksekusi pernyataan switch lebih tinggi, dan strukturnya lebih jelas Tujuan
dalam masalah praktis, terdapat banyak keteraturan. Operasi berulang, jadi untuk melakukan operasi seperti itu dalam program, Anda harus menjalankan pernyataan tertentu berulang kali
di
pernyataan loop:
dalam suatu program, sekelompok pernyataan yang dieksekusi berulang kali disebut badan loop penghentian perulangan.
Pernyataan yang terdiri dari badan perulangan dan kondisi penghentian perulangan disebut pernyataan perulangan.
Struktur sintaksis
perulangan for terutama digunakan untuk mengulangi kode tertentu beberapa kali, biasanya terkait dengan penghitungan. Struktur pernyataannya adalah sebagai berikut
untuk (variabel inisialisasi; ekspresi kondisional; ekspresi operasi) {
//Loop body
}
kontrol proses
Demonstrasi kode
untuk (var i=1;i<=10;i++){ console.log('Apakah kamu menyukaiku?'); }//Hitung nilai total kelas dan nilai rata-rata var num = prompt('Silahkan masukkan jumlah seluruh siswa dalam kelas') var jumlah = 0, rata-rata = 0; untuk (var i = 1; i <= angka; i++) { var score = prompt('Masukkan nilai '+i+' siswa') //Data yang diambil dari prompt adalah string dan perlu diubah menjadi angka sum += parseInt(score); } rata-rata = jumlah/angka; alert('Total nilai kelas:' + jumlah); alert('Nilai rata-rata kelas:' + jumlah);//Cetak 5 hati dalam satu baris for (var i=0;i<=4;i++){ konsol.log('*'); }
Perulangan for berlapis-ganda (bersarang perulangan)
Perulangan perulangan mengacu pada struktur tata bahasa dalam mendefinisikan pernyataan perulangan di dalam pernyataan perulangan. Sebagai contoh, penyatuan perulangan for di dalam perulangan for. Kita menyebutnya sebagai pernyataan perulangan for Lapisan ganda loop
Kita menyebut loop dalam sebagai loop dalam, dan loop luar sebagai loop luar. Loop luar
mengulang satu kali, dan loop dalam dieksekusi dari awal hingga akhir.
Demonstrasi kode
// Tingkat rendah: 5 baris dan 5 kolom var str =''; untuk (var i=0;i<=4;i++){ untuk (var j=0;j<=4;j++){ str+='*'; } str+='n'; } konsol.log(str); //Lanjutan: n baris dan n kolom var baris = prompt('Silakan masukkan jumlah baris:'); var cols = prompt('Masukkan jumlah kolom'); varstr=''; untuk (var i = 1; i <= baris; i++) { untuk (var j = 1; j <= kolom; j++) { str+='*'; } str+='n'; } konsol.log(str); //Cetak segitiga terbalik var str=''; untuk (var i=1;i<=10;i++){ untuk (var j=i;j<=10;j++){ str+='*'; } str+='n'; } konsol.log(str); /* 1 ********** 10 2 *********9 3 ********8 4 *******7 5******6 6*****5 7****4 8***3 9**2 10 *1 *///Algoritma inti: var j=i;j<=10;j++//Ide: analisis dulu hasilnya dan amati hubungan antara baris dan kolom. Kemudian tentukan algoritma loop dalam // cetak segitiga sama sisi, idenya sama seperti di atas. varstr=''; untuk (var i=1;i<=9;i++){ untuk (var j=1;j<=i;j++){ str+='*'; } str+='n'; } console.log(str);//Untuk mencetak tabel perkalian, ganti tanda bintang segitiga sama sisi dengan persamaan var str = ''; untuk (var saya = 1; saya <= 9; saya++) { untuk (var j = 1; j <= i; j++) { /*str+='*'; */ str += i + '*' + i + '=' + i * j + ' t'; } str+= 'n'; } console.log(str);//Ingat: loop luar diulang satu kali, dan loop dalam dijalankan dari awal hingga akhir. Itu hanya mencetak inti dari grafik.
Ringkasan loop
while
Pernyataan while dapat mengeksekusi potongan kode tertentu dalam perulangan dengan premis bahwa ekspresi kondisi benar, hingga ekspresi tersebut benar. tidak memenuhi syarat, perulangan berakhir
.Struktur sintaksis pernyataan while
while (ekspresi kondisional) {
//Pernyataan badan perulangan;
}
Ide eksekusi:
pertama-tama jalankan ekspresi kondisional, jika kondisinya benar, kemudian jalankan kode badan perulangan, jika tidak, keluar dari perulangan dan jalankan kode berikut
untuk mengeksekusi
kode badan perulangan Kode dijalankan, program akan Lanjutkan menilai dan mengeksekusi ekspresi kondisional. Jika kondisi masih benar, lanjutkan mengeksekusi badan perulangan. Seluruh proses badan perulangan tidak akan berakhir sampai kondisi perulangan
salah sebagai berikut
Demonstrasi kode
var num=1; //Inisialisasi variabel while(num<=10){//Ekspresi kondisional console.log('Halo dunia'); num++;//Ekspresi operasi }
Catatan:
Ada juga ekspresi operasi di while untuk menyelesaikan pembaruan penghitung dan mencegah loop tak terbatas (Saya tidak menambahkan ekspresi operasi, tetapi ketika saya menjalankan kode, antarmuka Google Chrome adalah hitam).
Harus ada juga variabel inisialisasi penghitung di dalamnya.
Perulangan while dapat setara dengan perulangan for sampai batas tertentu. Anda hanya perlu memasukkan variabel yang diinisialisasi, ekspresi kondisional, dan ekspresi operasi di dalam perulangan for .
Demonstrasi kode
//Mencetak kehidupan seseorang, dari usia 1 tahun hingga 120 tahun var age = 1; sementara (umur <= 120) { console.log('Orang ini tahun ini' + umur + 'tahun'); usia++; } //2. Hitung jumlah semua bilangan bulat antara 1 dan 100 var sum = 0, saya = 1; sementara (saya <= 100) { jumlah += saya; saya++; } konsol.log(jumlah); //3. Buka kotak dialog, apakah kamu mencintaiku? Jika kamu memasukkan aku mencintaimu, itu akan menanyakan akhir, jika tidak maka akan terus menanyakan var message='Apakah kamu mencintaiku'; while(pesan!=='Aku cinta kamu'){ pesan=prompt('Apakah kamu mencintaiku?'); } alert('Aku juga mencintaimu');
perulangan do...sementara pernyataan
do...sementara sebenarnya merupakan varian dari pernyataan while. Perulangan ini pertama-tama akan mengeksekusi blok kode satu kali, dan kemudian menilai ekspresi kondisional benar, badan perulangan akan dieksekusi berulang kali, jika tidak maka akan keluar dari perulangan
do... Struktur sintaksis pernyataan while adalah sebagai berikut
do {
//Kode isi perulangan - Ulangi kode isi perulangan ketika ekspresi kondisional benar
}
Ide eksekusi:
jalankan kode isi perulangan satu kali
lalu jalankan ekspresi kondisional. Jika hasilnya benar, lanjutkan mengeksekusi kode isi perulangan salah, lalu Keluar dari perulangan dan lanjutkan mengeksekusi kode berikut.
Catatan: jalankan pernyataan badan perulangan terlebih dahulu, lalu hakim. Kita akan menemukan bahwa pernyataan perulangan do...sementara akan mengeksekusi badan perulangan setidaknya sekali.
pengendalian proses
Demonstrasi kode
//Cetak kehidupan seseorang, dari 1 hingga 120 tahun var age = 1; Mengerjakan { console.log('Orang ini tahun ini' + umur + 'tahun'); usia++; } while (umur <= 120); //2. Hitung jumlah semua bilangan bulat antara 1 dan 100 var sum = 0, saya = 1; Mengerjakan { jumlah += saya; saya++; } sementara (saya <= 100) konsol.log(jumlah); //3. Buka kotak dialog, apakah kamu mencintaiku? Jika kamu memasukkan aku mencintaimu, itu akan menanyakan akhir, jika tidak maka akan terus menanyakan var message = 'Apakah kamu mencintaiku'; Mengerjakan { pesan = prompt('Apakah kamu mencintaiku?'); } while (pesan !== 'Aku cinta kamu'); alert('I love you too');
Ringkasan Loops
:terus adalah Kata yang digunakan untuk segera keluar dari perulangan ini dan melanjutkan loop berikutnya (kode setelah continue di badan loop ini akan dieksekusi satu kali lebih sedikit).
Contoh: Jika Anda makan 5 roti dan ada serangga di roti ketiga, buang roti ketiga dan lanjutkan makan roti keempat dan kelima.
Demonstrasi kode
untuk (var i = 1; i <= 5; i++) { jika (saya == 3) { melanjutkan; } console.log('Saya makan ' + i + 'roti ke-'); } Hasil: //Saya makan roti ke-1 //Saya makan roti ke-2 //Saya makan roti ke-4 //Saya makan roti ke-5
break kata kunci
Break kata kunci digunakan untuk melompat keluar dari seluruh loop dengan segera (Akhir siklus)
Misalnya: Setelah makan lima roti, saya menemukan cacing pada roti ketiga dan kehilangan nafsu makan.
Contoh kode
untuk (var i = 1; i <= 5; i++) { jika (saya == 3) { merusak; } console.log('Saya makan ' + i + 'roti ke-'); } Hasil; //Saya makan roti kukus ke-1 //Saya makan konvensi penamaan roti kukus ke-2
konvensi penamaan
variabel, nama fungsi harus bermakna, nama variabel umumnya kata benda, nama fungsinya umumnya merupakankomentar satu baris
untuk (var i = 1; i <= 5; i++) { jika (saya == 3) { lanjutkan; //Harap diperhatikan bahwa ada spasi sebelum satu baris komentar } console.log('Saya makan ' + i + 'roti ke-'); }
Spesifikasi operator
// Sisakan spasi di sisi kiri dan kanan operator untuk (var i = 1; i <= 5; i++) { jika (saya == 3) { merusak; } console.log('Saya makan ' + i + 'roti ke-'); }