javascript - for循环打印九九乘法表的问题
PHPz
PHPz 2017-04-11 12:41:24
0
3
629
我想打印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 
PHPz
PHPz

学习是最好的投资!

全部回复(3)
Ty80

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

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

这样就好了~

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

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

阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板