大白baymax 发表于 2021-8-30 10:59

JS中for打印99乘法表的问题求助

<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title></title>
                <script>
                //打印99乘法表
               
                //外层循环控制输出多少行
                var str = '';
                for (i = 1; i <= 9; i++) {
                        //内层循环 控制每一行有多少个内容
                        for (var j = i; j<=9; j++) {
                                str = str + i + '*' + j + '=' + i * j + '\t';
                        }
                        str = str + '\n';
                       
                }
                console.log(str);
               
                </script>
        </head>
        <body>
        </body>
</html>


求大佬讲解一下 第14行 str = str + i + '*' + j + '=' + i * j + '\t'   为什么不能写成str = i + '*' + j + '=' + i * j + '\t'呢 ?str = str + i + '*' + j + '=' + i * j + '\t'等号后面的str起到的是什么作用呢?

iLy_y 发表于 2021-8-30 11:07

拼接字符串,直接str = i + '*' + j + '=' + i * j + '\t'输出的结果不一样

hunglish 发表于 2021-8-30 11:07

字符串拼接啊

Piz.liu 发表于 2021-8-30 11:14

这种问题不值当问,你直接去掉试试看看效果就知道什么意思了

涛之雨 发表于 2021-8-30 11:14

拼接呗。
不加那个str,之前的内容不就没了。。。
a=a+"b"

a+="b"
是一样的

curr1997 发表于 2021-8-30 11:16

看到没有,你要拼接的是 1*1~~~~9*9你要把没一个拼起来, str = str +"xxx";把上一次的结果,拿来+新的结果,当做结果使用

icysky0605 发表于 2021-8-30 11:16

典型的偷懒写法导致新手懵逼的结果……
这只是给变量a赋值的时候把变量a的值+新值重新赋值给a而已。。。

curr1997 发表于 2021-8-30 11:17

很多时候,你只需要实践一下就好,就能看到结果。

damao 发表于 2021-8-30 11:19

str = str + '\t' + i + '*' + j + '=' + i * j;
这样看你可能就明白了

Do_zh 发表于 2021-8-30 11:31

实际操作一下 不就知道了 。
页: [1] 2
查看完整版本: JS中for打印99乘法表的问题求助