JS基础必读——循环

视频链接:https://www.bilibili.com/video/BV1ux411d75J?p=69
点击观看视频

循环目的

  • 在实际问题中,有许多具有规律性的冲农夫操作,因此在程序中哟啊完成这类操作就需要重复执行某些语句。

1.JS中的循环

在JS中,主要有三种类型的循环语句:

  • for循环
  • while循环
  • do…while循环

2. for循环

在程序中,一组被触发执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。有循环体及循环的终止条件组成的语句,被称之为循环语句。

2.1 语法结构

for循环主要用于把某些代码循环若干次,通常跟计数有关系。其语法结构如下:

for(初始化变量; 条件表达式; 操作表达式){
	//循环体
}

1.初始化变量 就是用var声明的一个普通变量,通常用于作为计数器使用
2.条件表达式 就是用来决定每一次循环是否继续执行 就是终止的条件
3.操作表达式 是每次循环最后执行的代码 经常用于我们计数器变量进行更新(递增或者递减)

	for(var i=1; i<=100; i++){
		console.log('你好吗');
	}

在这里插入图片描述

2.2 for循环的执行过程

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
1.首先执行里面的计算器变量 var i=1,但是这句话在for里面只执行一次
2.去i<=100来判断是否满足条件,如果满足就去执行循环体 不满足条件退出循环
3.最后去执行i++ ,i++是单独写的代码 递增 第一轮结束
4.接着去执行i<=100如果满足 就去执行循环体 不满足条件退出循环 第二轮

2.3 断点调试

在这里插入图片描述
在这里插入图片描述

2.4 for循环重复不相同的代码

for循环还可以重复不同的代码,这主要是因为使用了计数器,计算器在每次循环过程中都会有变化。

//我们有计算器变量i的存在 i每次循环值都会变化
// 我们想要输出1个人 1~100岁
for(var i = 1; i<=100; i++){
	console.log('这个人今年'+i+'岁了');
}

在这里插入图片描述

for循环与if…else if…结合使用

for(var i = 1; i<=100; i++){
	if(i == 1){
		console.log('这个人今年1岁了,她出生了');
	}else if(i==100){
		console.log('这个人今年100岁了,她死了');
	}else{
		console.log('这个人今年'+i+'岁了');
	}
}

在这里插入图片描述

2.5 for循环重复某些相同操作

for循环因为有了计算器的存在,我们还可以重复的执行某些操作,比如做一些算术运算。
案例:
需求:求1-100之间所有整数的累加和。
案例分析:1.需要循环100次,我们需要一个计算器 i
2.我们需要一个存储结果的变量 sum,但是初始值一定是0
3.核心算法:1+2+3+4…,sum = sum + i;

var sum = 0;
for(var i=1; i<=100; i++){
	sum+=i;
}
console.log(sum) //5050

在这里插入图片描述

3. 双重for循环

3.1 双重for循环概述

很多情况下,单层for循环并不能满足我们的需求,比如我们要打印一个5行5列的图形、打印一个倒直角三角形等,此时就可以通过循环嵌套来实现。
在这里插入图片描述
循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。

// 1.双重for循环 语法结构
for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
	for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
			//执行语句;
	}
}
//2.我们可以把里面的循环看做是外层循环语句
//3.外层循环循环一次,里面的循环执行全部
for(var i=1; i<=3;i++){
	console.log('这是外层循环第'+i+'次');
	for(var j=1;j<=3; j++){
		console.log('这是里层循环第'+j+'次');
	}
}

3.2 双重for循环的执行过程

在这里插入图片描述
结果:外层循环1次,里层循环3次
在这里插入图片描述

3.3打印5行5列的星星

	var str='';
	for(var i=1; i<=5; i++){	//1 2 3 4 5   外层循环打印5行
		for(var j= 1; j<=5; j++){	//5个★ 5个★ 5个★ 5个★ 5个★  里层循环负责一行打印5个★
			str +='★';
		}
		str+='\n';//如果一行打印完毕5个星星就要另起一行 加\n
	}
	console.log(str);

结果:
在这里插入图片描述

3.4打印倒三角的星星

需求:打印倒三角的星星
案例分析:
1.一共有10行,但是每行的星星个数不一样,因此需要用到双重for循环。
2.外层的for控制行数i,循环10次可以打印10。
3.内层的for控制每行的星星个数j。
在这里插入图片描述

	var str='';
	for(var i=1; i<=10; i++){	//1 2 3 4 5...   外层循环打印10行
		for(var j= i; j<=10; j++){	//10个★ 9个★ 8个★ 7个★ 6个★..  里层循环负责一行打印的个数不一样 j=i
			str +='★';
		}
		str+='\n';//如果一行打印完毕就要另起一行 加\n
	}
	console.log(str);

结果:
在这里插入图片描述

3.5 双重for循环小结

  • for循环可以重复执行某些相同代码
  • for循环可以重复执行些许不同的代码,因为我们有计数器
  • for循环可以重复执行某些操作,比如算术运算符加法操作
  • 随着需求增加,双重for循环可以做更多、更好看的效果
  • 双重for循环,外层循环一次,内层for循环全部执行
  • for循环是循环条件和数字直接相关的循环
  • 分析要比写代码更重要
  • 一些核心算法想不到,但是要学会,分析他执行过程
  • 举一反三,自己经常总结,做一些相似的案例

4. while循环

while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
while语句的语法结构如下:

while(条件表达式){
	//循环体代码
}

执行思路:
1.先执行条件表达式,如果结果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码
2.执行循环体代码
3.循环体代码执行完毕后,程序会继续判断执行条件表达式,如果条件仍为true,则会继续执行循环体,直到循环条件为false

var num = 1;
while(num <=100){
	console.log('你好啊!');
	num++;
}

在这里插入图片描述
结果:
在这里插入图片描述

注意变量循环一次递增一次,避免进入死循环。

4.1 案例

需求:计算1~100之间所有整数的和

var sum = 0;
var i=1;
while(i<=100){
	sum+=i;
	i++;
}
console.log(sum);

结果:5050

5. do while循环

do…while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。

while语句的语法结构如下:

do{
	//循环体代码
}
while(条件表达式)

执行思路:
跟while不同的地方在于 do while 先执行一次循环体再判断条件表达式,如果条件表达式结果为true,则继续执行循环体代码;如果为false,则退出循环,执行后面代码

var i =1;
do{
	console.log('你还好吗?');
	i++;	//2
}while(i<2)

结果:条件表达式结果为false也会先执行一次循环体。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值