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...
Etwas ist schief gelaufen, bitte sagen Sie mir, wo das Problem liegt
改成下面这个
不过你这个完全可以用一个if语句:
按照原先的写法应该是
l
和l < 6
是否相等,l
是一个整数,表示字符串的长度,l<6
是一个布尔值,整数和布尔值是不全等的,所以永远都会走default
语句;原先写法的误区:不是
case
语句后面的为true就会执行,而是switch表达式里面的内容l
和case语句后面的内容l<6
全等时才匹配;假设v="111"
,此时l=3
l<6
为true,但是3!==true
,所以走的是default语句。你的l确定是小于6的?