Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 条件(num%3==0):为什么需要将其与0进行比较?_Javascript_Fizzbuzz - Fatal编程技术网

Javascript 条件(num%3==0):为什么需要将其与0进行比较?

Javascript 条件(num%3==0):为什么需要将其与0进行比较?,javascript,fizzbuzz,Javascript,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'); brea

我这里有一个简单的泡沫:

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++;
}
var num=1;

而(num假设num=1,num%3等于1。因此,如果计算
if(num%3)
,它将计算为true。而如果计算
if(num%3==0)
if,它将计算为false


此外,===确保在不同类型的情况下不允许任何值,但是在这种情况下,==和===不会有太大区别。

如果保留
num%3而不是
num%3===0
,这意味着将完全更改,因为它将进入其中一个事例,它应该可以被3整除,因此如果它不能被整除,它将进入默认事例,因为num%3将不等于0。
简言之,我们使用%运算符检查它是否可除,就好像答案是0,当且仅当它可除,即余数是0,如果一个数字mod 3等于0…?你不明白什么?我找不到一个关于这个比较意味着什么的清晰解释。为什么它不只是
num%3
如果(num%3)
如果(num%3==0)
是完全相反的。当数字不可除时,前者为真,当数字不可除时,后者为真,因为如果
num%3
计算为0,则0为假。相反,您需要检查是否等于0,如果可除则为真。仅供参考:
num%3==0
!(num%3)
是等效的-如果这有帮助的话,谢谢,我不明白模数检查余数(欢迎:)