Javascript 为什么继续打印9
Javascript 为什么继续打印9,javascript,Javascript,函数final(param1、param2、param3、param4){ 而(param2显然,如果param2==param4,您应该忽略。 函数final(param1、param2、param3、param4){ 而(param2问题在于,当param4为9时,param2%param1无论如何将为0 如果稍微更改代码逻辑,您可以从另一个角度看到差异: function final(param1, param2, param3, param4) { for (var loop = p
函数final(param1、param2、param3、param4){
而(param2显然,如果param2==param4,您应该忽略。
函数final(param1、param2、param3、param4){
而(param2问题在于,当param4为9
时,param2%param1
无论如何将为0
如果稍微更改代码逻辑,您可以从另一个角度看到差异:
function final(param1, param2, param3, param4) {
for (var loop = param2; loop <= param3; loop++) {
if (loop % param1 === 0) {
if (loop === param4) continue;
console.log(loop);
}
}
}
final(3, 5, 17, 9);
函数final(param1、param2、param3、param4){
对于(var loop=param2;loop如果param2和param1的倍数等于param4
multiple?但您使用的是param2%param1==param4
,%
是模,而不是乘法?X%3
永远不能是9
。X%3
的值将是0
、1
或2
中的一个e> .对不起,我应该打印“param1的倍数,从param2开始,扩展到param3,但如果它等于param4,则忽略倍数”。因此,根据此读数,我考虑模数。我现在得到正确的输出,几乎……它打印出15,12,9,6…唯一的问题是9。您的顺序错误(您正在首先检查第二个条件)并且您的第二个条件是错误的(不应该有%param1
)并且您的第二个身体是错误的(不应该有中断;
)。如果(param2%param1==param4)
部分是为了什么?我不知道。只有OP知道它是否有任何用途。