嗨,我有点困惑,为什么我没有得到任何记录在这个函数中。如果我通过函数传递10,不应该记录“case2”吗?我想这和我写模组线的方式有关.
function helloWorld(num) {
switch (num){
case num % 3 === 0:
console.log('case1');
break
case num % 5 === 0:
console.log('case2');
break
case num % 3 === 0 && num % 5 ===0:
console.log('case3');
break
}
}
helloWorld(10);发布于 2020-06-19 18:18:10
case语句用于将值与switch语句中指定的值进行比较。
您将在每个case中添加一个布尔条件,从而强制执行意外行为。你所做的在形式上是正确的,但在语义上是不正确的。
这是正确的代码:
function helloWorld(num) {
if((num % 3) === 0)
console.log('case1');
else if((num % 5) === 0)
console.log('case2');
else if((num % 3) === 0 && (num % 5) === 0)
console.log('case3');
}
helloWorld(10);有关switch语句的更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
https://stackoverflow.com/questions/62476106
复制相似问题