debuggerfor(var i = 1; i< 3; i++){console.log('第' + i + '次');}
for 循环的执行过程【debugger到谷歌浏览器断点就可以看到更清晰的执行过程】
1. 首先执行变量 var i = 1;( 这语句在for 循环只执行一次 )
2. 此时i=1 到i <= 3来判断是否满足条件,1小于3,满足条件 就去执行循环体里面的语句
3. 最后去执行 i++ ( i++是单独写的代码,递增 ),然后输出执行语句里面的内容【此时输出结果:第1次,i=2】,第一轮结束
4. 接着又去执行 i <= 3 ,i等于2,满足条件 就去执行循环体里面的语句,最后去执行i++,
然后输出【第2次,i=3】第二轮结束
5.接着又去执行 i <= 3 ,i等于3,满足条件 就去执行循环体里面的语句,最后去执行i++,
然后输出【第3次,i=4】第三轮结束
6、接着又去执行 i <= 3 ,i等于4,不满足条件就退出for循环
// for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {//for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) {//// 执行语句;//}// }//打印3行3列星星var str = '';for (var i = 1; i <= 3; i++) { // 外层循环负责打印3行for (var j = 1; j <= 3; j++) { // 里层循环负责一行打印3个星星str = str + '★';}// 如果一行打印完毕3个星星就要另起一行 加 \nstr = str + '\n';}console.log(str);
当外层for循环执行1次的时候,里层的for循环就执行全部,以此类推,就得出3行3列的五星
倒三角
//倒三角var str = '';//debugger//调试for (var i = 1; i <= 3; i++) { // 外层循环负责打印三行console.log('这是外层循环第' + i + '次');for (var j = i; j <=3; j++) { // 里层循环负责一行打印三个星星str = str + '★';console.log('这是里层的循环第' + j + '次');}// 如果一行打印完毕三个星星就要另起一行 加 \nstr = str + '\n';}console.log(str);
正三角
//正三角var str = ''for(var i = 3; i >= 1; i--){console.log('这是外层循环第' + i + '次');for(var j = i; j<=3; j++){str = str + '★';console.log('这是里层的循环第' + j + '次');}str = str + '\n';}console.log(str);