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循环在使用的时候有何区别?的主要内容,如果未能解决你的问题,请参考以下文章

JS中,for和while在使用时的区别。

循环语句中,break语句和continue语句有何不同

JS中 do while循环问题

控制语句2:循环:for 与 while

for循环和while循环的区别?

for循环和while循环的区别?