js中for循环和while循环在使用的时候有何区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中for循环和while循环在使用的时候有何区别?相关的知识,希望对你有一定的参考价值。
两个使用起来好像区别不大
for用于可预测循环次数的情况,而while可在不确定循环次数时使用,while甚至可以不在循环指令上指定跳出循环的条件。应该优先考虑for循环,一般情况下for循环的效率都是最高的。 参考技术A for称为计数循环,,即你知道 循环多少次,,即可使用而while为 条件循环,,即满足条件就会循环,而你不一定要知道循环多少次噢。。。。 参考技术B 1,都叫循环,但是作用不同,for循环多用于针对目标的循环, while多用于针对过程(一段业务代码)2, 举例:
for用于循环数组、列表等
var arr = [1,2,3];
for(var i in arr) //用于循环目标 arr
..... //
while多看重要执行的过程
while(true)
......//过程 业务代码
参考技术C 其实这两个可以互相代替的,比如说
for (int i = 0; i<10; i++) ...//插入语句
用while来写就是
int i = 0;
while (i<10)
...//插入语句
i++;
for循环比较简洁,会比while更常用些,尤其是用array的时候,很方便的。
但是如果想做无限循环,while更方便点,比如说
int i = 1;
while (i == 1) ...
还有一种do..while,和while差不多,但是do...while在任何情况下都会先执行命令一次,即使i不符合设定条件,
do
...
while (i<10);
这些循环大部分情况都是可以互换的。在不同的场合,有的循环就会更方便点~ 参考技术D 都是用于循环的,for循环一般用于知道循环次数的情况,while一般用于不知道循环次数但是知道循环结束条件的情况。
循环的使用
while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组,python中for循环很简单,循环的是一个可迭代对象中的元素
循环里面还有两个比较重要的关键字,continue和break,continue的意思是,跳出本次循环,继续进行下一次循环,break的意思是停止循环,也就是说在continue和break下面的代码都是不执行的
一、for循环的使用:
for语句的格式如下:
>>>for <> in <对象集合>:
... if <条件>:
... break
... if <条件>:
... continue
... <其他语句>
...else:
... <>
...
顺便提一下range()函数。
range([start,] stop [, step])
# start 可选参数,起始数
#stop 终止数,如果 range 只有一个参数x,则产生一个包含 0 至 x-1 的整数列表
#step 可选参数,步长
案例一:for循环中range可以指定索引范围
for i in range(2,5):
print(i)
注意:其中2表示索引起始位置,5-1表示索引结束位置。注意,2,和5可以用变量代替
输出结果如下:
2
3
4
案例二:for循环中range可以指定步进
for i in range(2,5,2):#注意,第三位,可以指定步进。
print(i)
输出结果如下:
2
4
案例三:Python中的降序排序
for i in range(5,0,-1):
print(i)
输出结果:
5
4
3
2
1
案例四:降序也可以指定步进
for i in
range(5,0,-2):
print(i)
输出结果:
5
3
1
1.for循环包括多数计数器式的循环。一般而言,for比while容易些,执行时也比较快。所以每当你需要遍历序列时,都应该把它---for作为首选的工具。
2.你可以用while循环(while判断)以及手动索引运算编写这类独特的循环,但是python提供了两个内置函数,在for循环内定制迭代:
---内置range函数返回一系列连续增加的整数(类似c#中for循环中的i++),可作为for中的索引。
---内置zip函数返回并行元素的元祖的列表,可用于在for中内遍历数个序列
二、中断用法break与continue:
案例一:for循环中的continue
1 for i in range(10):#变量i带入for循环,通过rang()函数进行0到10的循环
2 if i==7:#插入条件语句if..continue,当i==7时,进入条件进行判断 由于continue的作用退出当前循环,不执行下面的print(i)(这个是关键)
3 continue
4 print(i)#打印i
上面这个循环打印出来是0 1 2 3 4 5 6 8 9,关键是没有7,因为7在循环的时候遇到continue直接退出了当前循环。由于for循环自己增加变量值的特性,退出以后直接从8开始继续循环。
案例二:for循环中的break
1 for i in range(10):
2 if i==7: #代码与前一个基本相同唯一改变的就是条件语句的continue变成了break。
3 break
4 print(i)
由于continue变成了break所以循环到7的时候直接退出整个循环(for退出整个循环以后不会再自己增加变量值循环了)。所以打印出来的为0 1 2 3 4 5 6.
案例三:while循环中的continue
1 x=0#输入一个变量x并且把它赋值为0。
2 while<10:#进入while<10的循环。
3 if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
4 continue
5 print(x)#打印x
6 x=x+1#x+1以后再赋值给x
注意while循环和for循环有个一个本质上面的区别。for循环是知道长度并且可以自己增加变量值循环。但是while就无法做到自己增加变量值如果不用x+=1改变
变量值就好进入一个死循环不停的打印0.当我们增加了if...continue这个条件以后当x变量增加到7的时候。退出当前循环,由于不执行下面的代码print(i)和x=x+1.
所以x一直是7,当x为7再次进入while里面的时候又执行了continue。所以就产生了死循环。打印的结果为0 1 2 3 4 5 6.
案例四:while循环中的break
1 x=0
2 while<0:
3 if x==7
4 x=x+1;
5 continue
6 print(x)
7 x+=1
此代码在上面的一个基础上增加了x=x+1到if语句里面。这样当条件判断以后x由7变成8再进行循环的时候就不会受if的条件影响可以继续循环。最后打印结果为0 1 2 3 4 5 6 8 9.
break代替continue效果与for循环相同。直接跳出整个循环。打印结果为0 1 2 3 4 5 6.
以上是关于js中for循环和while循环在使用的时候有何区别?的主要内容,如果未能解决你的问题,请参考以下文章