Rumah  >  Artikel  >  hujung hadapan web  >  Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

WBOY
WBOYasal
2016-05-16 16:38:291345semak imbas

Pernyataan suis berkait rapat dengan pernyataan if Ia juga merupakan pernyataan kawalan aliran yang biasa digunakan dalam bahasa pengaturcaraan lain Walau bagaimanapun, pemadanan suis adalah mod kongruen selalunya akan membuat kesilapan semasa menulis atur cara.

Kod:

var n = '5';
switch(n){
    case 5:
        alert('执行case分支');
        break;
    default:
        alert('执行default分支');
}

Hasil:

Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

Ramai orang mungkin tersilap berfikir bahawa program di atas akan mengambil cawangan kes, tetapi akhirnya ia mengambil cawangan lalai. Bukankah mereka berdua sama? Mari kita lihat menggunakan pernyataan if.

Kod:

var n = '5';
if(n==5){
    alert('真 分支');
}else{
    alert('假 分支');
}

Hasil:

Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

Ia boleh padan dalam pernyataan if, tetapi mengapa ia tidak sepadan dalam pernyataan suis?

Ini kerana kes dalam pernyataan suis menggunakan mod kongruen, yang bersamaan dengan menggunakan tiga tanda sama dalam jika. Mari tulis semula kod kes

Kod:

var n = '5';
switch(n){
    case '5': // 把原来的 case 5 改写成 case '5'
        alert('执行case分支');
        break;
    default:
        alert('执行default分支');
}

Hasil:

Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

Selepas menulis semula, anda boleh mengambil cawangan kes, sama seperti kami menggunakan tiga tanda masuk yang kongruen jika

Kod:

var n = '5';
if(n===5){
    alert('真 分支');
}else{
    alert('假 分支');
}

Hasil:

Butiran yang mudah untuk membuat kesilapan dalam menukar pertimbangan dalam pengetahuan JavaScript_Basic

Oleh kerana kekongruenan digunakan, rentetan 5 tidak sama dengan nombor 5, dan hasilnya adalah cabang palsu.

Contoh di atas menunjukkan bahawa mod padanan kongruen digunakan dalam suis, terutamanya isu yang perlu diberi perhatian apabila memadankan nombor dan rentetan

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