JavaScript中for语句的讲解,及使用for双重嵌套打印五角星方阵,九九乘法表

了解for语句结构及使用

for语句是循环控制语句,它将计数器的初始化,检测,与更新三个关键操作为语法的一部分,分别对应下例语句1,语句2,语句3。

for(语句1;语句2;语句3){

循环内容

}
  • 语句1在循环开始前执行
  • 语句2定义循环条件,为真(true)继续执行,为假(false),即不符合则停止
  • 语句3在执行每次循环后执行

注:语句1只在开始循环前执行一次

用法为:

for(i = 1;i <= 6;i++){

document.write(i);

}

输出结果为123456

即:第一次i为1时输出1,第二次循环在i++执行后,i为2,输出2,以此类推。


2.for的双重嵌套

    for(语句1;语句2;语句3){

        for(语句1;语句2;语句3){
        内容
        }

    内容
    }

例题:

使用for双重嵌套输出一个五角星方阵

须输出内容如下

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5aSn5Y-X6ZyH5pK8,size_11,color_FFFFFF,t_70,g_se,x_16

 使用代码:

for(var i = 1;i <= 5 ;i++){

        for(var n = 1;n <= 5;n++){
        document.write("★"+"&nbsp;"+"&nbsp;");
        }
//打印五颗五角星与两个空格

document.write("<br />");
//进行换行
}

当外部的for循环一次,此时i为2 ,内部for就已经循环过一遍了,n已经大于5,才跳出了循环,而当外部进行第二次循环时,内部的初始化语句又重新将n设置为1,并再一次的循环打印五次。

i++等自增自减基本仅在算数表达式中有先增/减与后增/减的区别,在其它地方效果最终都是加1。

例题2:打印九九乘法表

for(a = 1;a <=9;a++){

			for(b = a;b <=9;b++){
			var ast = a * b;
			document.write(a + "x" + b + "=" + ast + "&nbsp");
		    }

document.write("<br />");
}
		

结果:

如果需要结果反过来,看的正常一些,只需要更改内部for中a的位置

	for(a = 1;a <=9;a++){

			for(b = 1;b <=a;b++){
			var ast = a * b;
			document.write(a + "x" + b + "=" + ast + "&nbsp");
	    	}
//ast其实可以直接写a*b,就当是我脑袋抽了
	document.write("<br />");
	}
		

结果:

内部for中的变量a将外部for和内部for紧紧的贴合在了一起,本人刚接触时就卡在了这里,我们需要好好想想外部的a发生变化后,内部会有什么改变,外部的每次循环改变了内部的某些因素,不同于上面的五角星方阵中外部for仅用来换行,这里的外部for作用要更大。

总结:

  • 部for执行一次时,内部已经将一轮完成了。也就是说,执行内部内容时,和外部的for毫无关联,只有内部的内容执行完毕,才会跳出继续执行外部。且无论嵌套多少重for语句都一样。
  • 此类外部用来输出行,内部用来输出行内的每个元素。
  • 如果遇到多个for多重嵌套,可以将其划分为数个步骤,将大的问题拆分为小的问题,耐心分析,循序渐进的读懂或写出。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值