Rumah  >  Artikel  >  hujung hadapan web  >  Cawangan bersyarat yang mesti dipelajari setiap hari dalam kemahiran javascript_javascript

Cawangan bersyarat yang mesti dipelajari setiap hari dalam kemahiran javascript_javascript

WBOY
WBOYasal
2016-05-16 15:15:071039semak imbas

Helo semua, mari teruskan hari ini Kami telah membincangkan secara ringkas tentang pengendali sebelum ini.
Mari kita simulasi blok logik dahulu Mari kita gunakan pembelian tiket yang sering kita hubungi. Harga tiket adalah berbeza untuk orang yang berbeza, tetapi kita semua melakukan kelakuan yang sama untuk membeli tiket sebagai fungsi BeliTiket

//代码
function BuyTicket(){
  console.log("请付款200元");
}

Semua orang telah melihat bahawa badan fungsi ini sebenarnya cacat Apabila setiap daripada kita pergi untuk membeli tiket, kita melaksanakan fungsi ini Jika kita seorang askar atau pelajar, fungsi ini tidak berlaku itu. Kami hanya boleh menulis satu lagi fungsi untuk menyelesaikan masalah tersebut Kemudian, bahasa javascript kami telah menyediakan kami dengan penyataan cawangan, jadi kami boleh menyelesaikan masalah tersebut dengan mudah. ​​Mari kita lihat kod yang diubah suai seterusnya 🎜>

function BuyTicket(identity){
  if(identity == "学生"){
    console.log("请付款100元");
  }
  if(identity == "军人"){
    console.log("请付款150元");
  }
  if(identity == "普通人"){
    console.log("请付款200元");
  }
}

//模拟3种人去买票
BuyTicket("学生");
BuyTicket("军人");
BuyTicket("普通人");

Adakah menggunakannya dengan cara ini lebih saintifik daripada kaedah penulisan sebelum ini secara perlahan-lahan saya akan menaik tarafnya kemudian, dan secara beransur-ansur semua orang akan memahami kecomelan program tersebut.

Melalui contoh di atas, kita boleh melihat dengan mudah bahawa fungsi sedemikian boleh menyelesaikan masalah cawangan Sekarang mari kita terangkan sintaks cawangan


 if(条件){
  //执行语句
}
Syaratnya adalah seperti yang kami nyatakan sebelum ini, objek bukan kosong, objek tidak ditentukan, nilai Boolean benar, nombor bukan 0, semua rentetan dalam badan fungsi kami, kami menggunakan operator perbandingan == untuk mengendalikan dan dapatkan nilai Boolean untuk membuat pertimbangan, ini juga merupakan kaedah yang sering kami gunakan. Kami juga boleh menggunakan nilai lain sebagai syarat

J: Semua syarat ditetapkan, jadi perkataan "dilaksanakan" dicetak B: syarat itu bukan nilai syarat syarat if, jadi ia tidak dilaksanakan. Nota: Di sini kita semua menggunakan nilai yang jelas Kadangkala kita akan menggunakan nilai pulangan selepas operasi, sama seperti operasi == yang digunakan dalam fungsi BuyTicket sebelumnya. Jika nilai pulangan adalah benar, ia akan dilaksanakan adalah Jika palsu, ia pasti tidak akan dilaksanakan Setiap kali kami melaksanakan BuyTicket, nilai yang diluluskan hanya boleh memenuhi satu syarat.

Seterusnya, mari belajar cabang if yang lengkap


//第一种,两个分支
if(条件){
  //执行
}else{
  //执行
}
Hanya pergi ke gambar dan anda akan faham serta-merta

A: Kod sebelumnya dilaksanakan; syarat di B tidak layak, jadi pernyataan dalam blok else dilaksanakan. Ia sangat mudah dan tidak memerlukan banyak penjelasan.

Dalam kes dua cawangan, satu daripada dua cawangan akan sentiasa dilaksanakan, bukan kedua-duanya pada masa yang sama


//第二种,多个分支
if(条件){
  //执行
}else if(条件){
  //执行
}else if(条件){
  //执行
}…else if(条件){
  //执行
}else{
  //执行
}
Dalam kes berbilang cawangan, hanya satu daripadanya akan dilaksanakan Jika salah satu cabang dilaksanakan, perbandingan keadaan berikut tidak akan diteruskan. Ini adalah cara yang lebih cekap jadilah seperti fungsi BuyTicket di atas, yang merupakan cara penulisan yang sangat tidak cekap Ketiga-tiga blok tersebut, jadi, kita boleh mengubah fungsi BuyTicket


//代码 
funciton BuyTicket(identity){
  if("学生"){
    console.log("请付款100元");
  }else if("军人"){
    console.log("请付款150元");
  }else{
    console.log("请付款200元");
  }
}
Cara penulisan ini lebih saintifik, dan kesan pelaksanaannya sama seperti sebelumnya akan dilaksanakan tanpa memadankan blok keadaan lain Ini lebih cekap daripada kod fungsi yang ditulis sebelum ini, namun, terdapat juga kaedah penggantian berbilang cawangan, mari kita lihat sintaks dahulu


Proses pelaksanaan dari atas ke bawah adalah menggunakan ungkapan untuk memadankan ungkapan tetap berikut satu demi satu. Jika ia sepadan, laksanakan pernyataan di dalam blok kes berikutnya akan dilaksanakan secara berurutan sehingga rehat ditemui, jadi kami juga boleh memanfaatkan ciri ini Dalam keadaan yang sesuai, kami tidak akan menulis kata kunci rehat. Baiklah, mari kita gunakan struktur suis untuk mengubah suai fungsi BuyTicket sebelumnya
switch(表达式){
  case 常量表达式1:
    //执行
    break;
  case 常量表达式1:
    //执行
    break;
  case 常量表达式1:
    //执行
    break;
  default:
    //执行
    break;
}


Blok lalai bermakna apabila tiada ungkapan sepadan, kami melaksanakan blok kod ini secara lalai Kerana ini juga blok kod terakhir, kata kunci rehat juga boleh diabaikan

Untuk meringkaskan, hari ini, saya hanya bercakap tentang cawangan bersyarat dan pengetahuan lain, jika, jika--lain, jika--lain--lain, tukar ini hanya beberapa blok pernyataan cawangan bersyarat keluar mereka setiap hari. Terdapat jumlah masa tertentu untuk menulis, dan ruang adalah terhad.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn