switch判断中,case后面跟逻辑表达式出错
let status=1; switch (status) { case 1: console.log("status为1的时候你将做的事"); break; case 2: console.log("status为2的时候你将做的事"); break; case 3: console.log("status为3的时候你将做的事"); break; case 4 || 5: console.log("status为4和5将做一样的事"); break; }
这样的表达式会执行status为1,2,3,4,但是不会执行status为5,因为前三条case的结果是直接的数值,而第四条case的运算结果是4,所以就会走不到status为5的时候。
而要走到5的话,4和5就需要像前面几条case语句那样分开写。
let score = 88; switch (true) { case score < 60: console.log("D"); break; case score >= 60 && score < 70: console.log("C"); break; case score >= 70 && score < 80: console.log("B"); break; case score >= 80: console.log("A"); break; }
参考:https://www.cnblogs.com/yaotome/p/7222018.html