循环语句

循环语句,也是流程控制语句中不可或缺的一种结构。在 JavaScrip中实现循环的方式有好几个一个来看

1.为什么需要循环

在具体介绍 Javascript中的循环之前,首先我们来明确一个问题,那就是为什么需要循环。这里举一个简单的例子,例如我们要设计一个程序,计算从1加到10的值,或许你会写

leti=1+2+3+4+5+6+7+8+9+10

console. log(i):

但是如果是从1加到100呢?或者是从1加到1000呢?显然这种方法就力不从心了。这个时候,就需要循环语句登场了。这里我们介绍 Javascript中的3种循环结构,while循环,do.while循环以及fo循环

2.while循环

while循环是循环里面比较常见的一种循环,语法如下:

while(表达式){

//循环体

}

含义:如果表达式成立,执行循环体,否则结束循环

无穷循环

所谓无穷循环,被称之为死循环。这是在我们无法退出循环时会遇到的一种情况。一般来讲我们在设计循环的时候需要为循环设计一个出口,这样才能在当不满足循环条件的时候退出循环。如果没有正确的对循环设计一个出口,那么循环语句将无法退出,陷入到无穷循环,也就是循环里面。所以我们在设计循环的时候,一定要注意正确的书写循环条件,以便循环能在执行一定次数以后退出。

3. do..while循环

首先执行一次循环体,然后检测循环条件表达式的值是否为"真”,如果是真的话,则重复执行循环语句

do..while环和前面两种循环语句略有区别,区别在于循环至少会执行一次

4.for循环

for循环是所有循环里最常见的一种循环;

它执行的顺序为:首先执行表达式1,然后进行表达式2的判断,如果表达式2成立,那么执行循环体,循环体执行结束后,进行表达式3,然后回头再看表达式是否成立,成立就执行循环体不成立该循环就结束。

在for循环里面,每一部分都是可选的。

遍历数组

在最早的时候,在JS里面就经常使用for循环进行遍历。

这里有一个小技巧,就是在使用fo循环来遍历数组的时候,使用一个变量来存储数组的长度,这样可以大大提升程序的效率,因为不用每次都去重新计算数组的长度。

5.循环的嵌套

我们可以把一个循环放在另外一个循环里面,从而构成循环的嵌套。里面的循环称之为内层循环,外面的循环称之为外层循环。外层循环每循环一次,内层循环就把自己的全部循环执行完

循环嵌套示例:打印九九乘法表

let str = "";

for(let i=1;i<=9;i++){

    for(let j=1;j<=i;j++){

str += i + "*" + j + "=" + (i*j) + " ";

}

console.log(str);

str = "";

}

// 1*1=1

// 2*1=2 2*2=4

// 3*1=3 3*2=6 3*3=9

// 4*1=4 4*2=8 4*3=12 4*4=16

// 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

// 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

// 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

// 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

// 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

6. break和 continue

break

beak语句我们在前面讲 switch语句的时候已经见到过了,当时有讲到它的作用是跳出 switch语句或者循环语句。有一点需要注意的是: break语句不能直接作用于语句,除非这个语句是被嵌套在循环语句里面的

continue

结束本次循环不是终止整个循琍,即跳过循环体中 continue语句后面的语句,开始下一次循break语句和continue语句的区别:continue语句的意思是结束本次循环,bmak语句是结束整个

循环。

break和continue在默认情况下,是终止掉离它最近的循环。特殊情况下,我们可以通过给每个个名字,然后通过名字来终止指定循环。

去除重复,除了前面所介绍过的使用set集合来快速去除以外,在ES6之前,数组去重都需要开发人员自己来书写方法。这里我们就利用的是一种最简单的去重方式,用旧数组和新数组进行比较,如果新数组里面不含有旧数组里面的元素,则将此元素放入新的数组。当我们比较的时候,发现新数组里面已经存在此元素时,就直接 continue结束

外层的循环,进入外层循环的下一次循环。

JavaScrip中的循环语句的更多相关文章

  1. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  2. shell脚本中select循环语句用法

    shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...

  3. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  4. Swift中的循环语句

    循环语句能够使程序代码重复执行.Swift编程语言支持4种循环构造类型:while.do while.for和for in.for和while循环是在执行循环体之前测试循环条件,而do while是在 ...

  5. shell编程中的循环语句

    while循环直接从文件中读取 while read line do command done < filename until循环 until 条件 do command done for循环 ...

  6. 洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句

    所有的编程语言里都有判断语句和循环语句. 判断语句则是用来分支程序流程的 循环语句则是为了实现一个效果,让程序的规律性的重复操作 不用说,分支和循环自然在python里也是有的 一,条件判断:if,i ...

  7. Shell编程-08-Shell中的循环语句

    目录 while语句 until语句 for语句 select语句 循环中断控制 循环语句总结     循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行.在Shell中常见的 ...

  8. Shell中的循环语句实例

    1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:" ...

  9. Oracle--存储过程中之循环语句

    一般循环语句有两种: 1)使用for循环实现 declare  cursor cur is    select * from tablename;   aw_row  tablename%rowtyp ...

随机推荐

  1. pytong下安装安装SK-Learn

    安装SK-Learn需要依赖的Python安装包有: Python (>= 2.6), NumPy (>= 1.3), SciPy (>= 0.7), 下载python的各种包的地址 ...

  2. element-ui的layout将24等分换为48等分

    按住ctr箭点击element-ui/packages/theme-chalk/src/index";,再按住ctr贱点击col.scss跳转,将跳转到的col.scss中的24换为48(c ...

  3. Docker学习の更改Docker的目录

    一.更改虚拟磁盘的目录 虚拟机的默认存储位置是C:\Users\Administrator\.docker\machine\machines ,后期docke镜像文件会不断增加,为了给系统盘减负,最好 ...

  4. SPRING+JPA+Hibernate配置方法

    1.applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  5. iOS开发系列-Charles

    概述 Charles相当于一个插在服务器和客户端之间的"过滤器".当客户端向服务器发起请求的时候,先到charles进行过滤,然后charles在把最终的数据发送给服务器: 注意: ...

  6. linux 将子文件夹的文件复制到 当前目录中

    linux 将子文件夹的文件复制到 当前目录中,如 目录结构大概是 -sh |__ db_backup |___ test |____ 2018_01_01_00_00_00 |_____ 2018_ ...

  7. virtualbox manager命令小记

    virtualbox 控制虚拟机 VBoxManage list runningvms 列出运行的虚拟机 (返回名称和UUID): VBoxManage list runningvms Stop ru ...

  8. Java int和Integer包装类的区别和比较

    区别:                                                                                                  ...

  9. 【JZOJ4616】二进制的世界

    description analysis \(DP\),这是\(Claris\)神仙的题-? 既然是\(2^{16}\)可以拆成两个\(2^8\)的位运算 照着打就行了 code #include&l ...

  10. 页面JS缓存问题解决方案

    .在jsp中加入头 <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUI ...