登录

javascript - for循环打印九九乘法表的问题

我想打印99乘法表中的第九行,但为何出来的,有这么多?当 i = 2 的时候,不应该是直接进入2*9=18吗?怎么会打印出来还有1*9=9呢?
 var str = '';
      for (var i = 1;i<=9;i++ ) {
          str += i +"*" + 9 + '=' + (i*9) +" " ;
          console.log(str);
      }
    
console里输出是
1*9=9 
1*9=9 2*9=18 
1*9=9 2*9=18 3*9=27 
1*9=9 2*9=18 3*9=27 4*9=36 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
# JavaScript
PHPz PHPz 2294 天前 431 次浏览

全部回复(3) 我要回复

  • PHP中文网

    PHP中文网2017-04-11 12:43:24

    因为你使用的是字符串的拼接,而且在每次循环的时候都打印一次。也就是你展示了字符串拼接的过程。。。但是你要的是最后一次的结果,所以:

    var str = '';
          for (var i = 1;i<=9;i++ ) {
              str += i +"*" + 9 + '=' + (i*9) +" " ;
              
          }
          console.log(str);
    

    这样就好了~

    回复
    0
  • PHPz

    PHPz2017-04-11 12:43:24

    var str = '';
    for (var i = 1; i <= 9; i++) {
        str += i + "*" + 9 + '=' + (i * 9) + " ";
    }
    console.log(str);
    

    你之前的代码,每循环一次就打印一次啊。

    回复
    0
  • 阿神

    阿神2017-04-11 12:43:24

    把for循环里面的str+=改为str=看看结果

    回复
    0
  • 取消 回复 发送