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起到的是什么作用呢? 拼接字符串,直接str = i + '*' + j + '=' + i * j + '\t'输出的结果不一样 字符串拼接啊 这种问题不值当问,你直接去掉试试看看效果就知道什么意思了 拼接呗。
不加那个str,之前的内容不就没了。。。
a=a+"b"
和
a+="b"
是一样的 看到没有,你要拼接的是 1*1~~~~9*9你要把没一个拼起来, str = str +"xxx";把上一次的结果,拿来+新的结果,当做结果使用 典型的偷懒写法导致新手懵逼的结果……
这只是给变量a赋值的时候把变量a的值+新值重新赋值给a而已。。。 很多时候,你只需要实践一下就好,就能看到结果。 str = str + '\t' + i + '*' + j + '=' + i * j;
这样看你可能就明白了 实际操作一下 不就知道了 。
页:
[1]
2