我有一个非常基本的循环,我目前还不完全理解。
for (var i = 1; i <= 100; i++) {
if (i / 3) {
$(".counterWrapper").append("fizz" + "<br>");
}
else {
$(".counterWrapper").append(i + "<br>");
}
}
基本上我希望它只返回'fizz'一词,如果变量i的值可被3整除。目前它只返回'fizz'这个词,所以看起来它会卡在if循环中并且每次都运行它。
这是一个非常简单的循环,但我认为这可能与我进行比较的方式有关。如果变量i可以被3?
分割,那么最好的方法是什么呢?答案 0 :(得分:4)
你的条件总是如此。使用模数运算符
if (i % 3 == 0) {
// print 'fizz'
}
答案 1 :(得分:2)
if语句中的值不是有效的比较。尝试使用modulo和equality:
for (var i = 1; i <= 100; i++) {
if (i % 3 == 0) {
$(".counterWrapper").append("fizz" + "<br>");
}
else {
$(".counterWrapper").append(i + "<br>");
}
}
答案 2 :(得分:2)
在javascript中,true和false被唯一处理。 0为假,任何其他数字为真。看看:
Namespace.WindowSnap
你说的是,如果我除以3加上fizz。所以在循环时:
if (i / 3) {
$(".counterWrapper").append("fizz" + "<br>");
}
等等。
您需要使用模数(%)来检查余数并使用比较。
if (0 / 3) // this would be 0 so it would be false
if (1 / 3) // this would not be zero so it is true
if (2 / 3) // this would not be zero so it is true
如果你经历了循环
if (i % 3 === 0)
答案 3 :(得分:0)
if ( i % 3 === 0 )
这是一个非常基本的问题,有一个非常基本的语法问题。