1

我开始学习 javascript 进行前端编程,python 是我学习的第一门语言。

所以我试图解决一个while循环练习,控制台记录50-300之间的每个数字,这些数字可以被5和3整除。

所以在python中我会这样做:

i = 50
while i < 301:
    if i % 5 == i % 3 == 0:
        print(i)
    i += 1

并且工作完美。我知道您可以使用 andand运算符,但这个问题的重点是避免使用它。

所以我在javascript中尝试同样的事情

var i = 50;
while (i < 301){
    if (i % 5 === i % 3 === 0){
        console.log(i);
    }
    i ++;
}

不知何故,这行不通。但是,使用&&操作员可以。javascript中不允许双重等式吗?如果他们是,我错过了什么?

4

1 回答 1

4

它是允许的,并且它完全按照您的要求执行 - 只是这与您希望它执行的操作不同。i % 5 === i % 3 === 0(i % 5 === i % 3) === 0(因为===是左关联的)相同。根据 的值(i % 5 === i % 3)计算为一个true或两个,并且和都为假,因此条件将始终为假。falseitrue === 0false === 0

于 2017-12-26T22:50:26.003 回答