//一共有9行,但是每一行的个数不一样,因此需要用到双重for循环
//外层循环控制行数i,循环9次因此小于等于9,可以打印9行
//内层循环for循环控制每一行公式j
//核心算法:每一行公式的个数正好是行数一致,j<=i;
//每行打印完毕都需要重新换一行
/*这里是j<=i,是因为要循环打印。第二行时候有两个式子,第三行的时候有三个式子以此类推。j的初始值是1,is是逐渐长大的,如果不是小于等于i的话就不能循环下去了。比如第二次外循环的时候i等于2,如果此时不是j<=i,而是j==i的话,就满足不了了,无法进行下去了。*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//一共有9行,但是每一行的个数不一样,因此需要用到双重for循环
//外层循环控制行数i,循环9次因此小于等于9,可以打印9行
//内层循环for循环控制每一行公式j
//核心算法:每一行公式的个数正好是行数一致,j<=i;
//每行打印完毕都需要重新换一行
/*这里是j<=i,是因为要循环打印。第二行时候有两个式子,第三行的时候有三个式子以此类推。j的初始值是1,is是逐渐长大的,如果不是小于等于i的话就不能循环下去了。比如第二次外循环的时候i等于2,如果此时不是j<=i,而是j==i的话,就满足不了了,无法进行下去了。*/
var str = '';
for (var i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
str += j + 'x' + i + '=' + i * j + '\t';
}
str += '\n';
}
console.log(str);
</script>
</head>
<body>
</body>
</html>