JS—— for循环案例之《打印九九乘法表》
一、效果展示
二、源代码
var equation = ; for (var i = 1; i <= 9; i++) { for (var j = 1; j <= i; j++) { result = j * i; equation = equation + j + x + i + = + result + ; } equation = equation + ; } console.log(equation);
三、分析
(一)思路:
根据正三角形j<=i这个结构,观察算式的数字组成规律。每个算式是j*i,再以字符串加变量的形式输出。
(二)步骤:
- 先来写正三角这个结构,每一行算式个数再依次增加一个,就可以当作是内循环j的最大值,每外循环一次,j最大值就增加一个,就得以实现每行都多一个。依靠j<=i来实现,最开始i是1,这时j之能循环一次。循环结束i=2,这时内循环j=2,内循环每循环一次就比上一次算式多一个
- 来写每个算式的j*i的组成,首先可以通过观察乘法表得知乘法表第一个算式的第1个数字都是1,第二个算式的第一个数字是2,依次增加…而内循环的j的大小正复合此规律,就是j每增一次,算式就多了一个。再发现等式的第二个数字,每行是第几行这个数字就是几,行数是由外循环i控制,这就是j*i的由来。
- 再来给变量把j*i的数字型结果收集起来,因为算式不能直接写出来,只能组合而成。把每个等式组合出来,字符串+变量的形式。
- 由于每行等式都再前一行基础上多了一个,就加上前一行的,每个算式之间隔得太近了,缩进字符串 增加距离(此处用空格转义字符是出现乱码的 result = j * i; equation = equation + j + x + i + = + result + ;
- 循环结束,打印出结果