掌握基本的JS for和if循环

时间:2016-05-03 19:11:45

标签: javascript jquery

我有一个非常基本的循环,我目前还不完全理解。

 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?

分割,那么最好的方法是什么呢?

4 个答案:

答案 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 )

这是一个非常基本的问题,有一个非常基本的语法问题。