javascript - suis...kes...
typecho
typecho 2017-06-28 09:28:02
0
3
915
export const setID = (v) => { console.log('执行setID',v); let l = v.length; switch(l) { case l < 6 : console.log('qq'); break; default: console.log('11111'); } }

v是传入的字符串,这段代码第一个console正常执行,第二个console无论任何情况都不执行,现在可以肯定的是我的switch...case...Sesuatu telah berlaku, sila beritahu saya di mana masalahnya

typecho
typecho

Following the voice in heart.

membalas semua (3)
扔个三星炸死你

Tukar kepada yang berikut

const setID = (v) => { console.log('执行setID',v); let l = v.length; switch(l < 6) { case true : console.log('qq'); break; default: console.log('11111'); } }

Tetapi anda pasti boleh menggunakan pernyataan if:

if (l < 6) { console.log("qq"); } else { console.log("1111"); }

Mengikut tulisan asal, ia sepatutnyall < 6是否相等,l是一个整数,表示字符串的长度,l<6是一个布尔值,整数和布尔值是不全等的,所以永远都会走default语句;
原先写法的误区:不是case语句后面的为true就会执行,而是switch表达式里面的内容l和case语句后面的内容l<6全等时才匹配;假设v="111",此时l=3l<6为true,但是3!==true, jadi pernyataan lalai digunakan.

    習慣沉默

    你的l确定是小于6的?

    switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 }
      代言
      export const setID = (v) => { console.log('执行setID',v); let l = v.length; switch(true) { case l < 6 : console.log('qq'); break; default: console.log('11111'); } }
        Muat turun terkini
        Lagi>
        kesan web
        Kod sumber laman web
        Bahan laman web
        Templat hujung hadapan
        Tentang kita Penafian Sitemap
        Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!