【发布时间】:2017-01-22 04:47:06
【问题描述】:
我在这里有一个简单的 fizzbuzz:
var num = 1;
while (num <= 20) {
switch(true){
case(num%3 === 0 && num%5 === 0):
console.log('fizzbuzz');
break;
case(num%3 === 0):
console.log('fizz');
break;
case(num%5 === 0):
console.log('buzz');
break;
default:
console.log(num);
}
num++;
}
在这行模数后面跟0比较是什么意思:num%3===0?
为什么不只是num%3?
【问题讨论】:
-
如果一个数字 mod 3 等于 0...?你不明白什么?
-
我找不到关于该比较意味着什么的明确解释。为什么不只是
num%3? -
if(num%3)和if(num%3==0)是完全相反的。前者在数不可整除时为真,后者在可整除时为真 -
因为如果
num%3的计算结果为 0,则 0 是错误的。相反,您需要检查是否等于 0,如果可整除,这将是真实的。 -
仅供参考:
num%3 == 0和!(num%3)是等价的 - 如果有帮助的话
标签: javascript fizzbuzz