循环语句

循环语句,也是流程控制语句中不可或缺的一种结构。在 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. centos安装完php-fpm、nginx后访问网站出现权限问题

    nginx.conf www.conf 这两个文件上面改用户为www. 如果不知道自己的配置文件位置问题,使用命令查找文件位置: find / -name 'nginx.conf' -print 添加 ...

  2. js 事件驱动原理

    还记得当初学JAVA-GUI编程时学习过事件监听机制,此时再学习JavaScript中的事件驱动机制,不免简单.当初学习时也是画过原理图,所以从原理图开始吧! js是采用事件驱动(event-driv ...

  3. NuGet包介绍

    Antlr 各种语言的语法识别器.解析器.编译和翻译器 Microsoft.AspNet.Web.Optimization 绑定优化CSS和JavaScript文件,也就是App_Start下的Bun ...

  4. IOS配置cocos2d-x

    cd /Users/wyc/Desktop/cocos2d-x-3.16/tools/cocos2d-console/bin python cocos.py new HelloWorldDemo -p ...

  5. 3、docker 容器管理

    Docker容器相对于OpenStack的云主机实例,虽然他们本质上不同.我们需要基于镜像来创建容器.容器是独立运行的一个或一组应用,以及它们的运行环境.对应的,虚拟机可以理解为模拟运行的一整套操作系 ...

  6. 校园商铺-2项目设计和框架搭建-7验证Dao

    以最简单的地区表为例 1.插入数据 insert into tb_area (area_name, priority) values('东苑', 1),('南苑', 7),('北苑', 5); sel ...

  7. day29 面向对象入门

    Python之路,Day17 = Python基础17-面向对象入门 创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “ ...

  8. Bootstrap FileInput.js + springmvc uploadFile

    下载FileInput.js          http://plugins.krajee.com/file-input/demo     https://github.com/kartik-v/bo ...

  9. golang模块viper读取配置文件

    一.介绍 Viper是一个方便Go语言应用程序处理配置信息的库.它可以处理多种格式的配置.它支持的特性: 设置默认值 从JSON.TOML.YAML.HCL和Java properties文件中读取配 ...

  10. [JZOJ 5698] 密码锁

    思路: 差分+排序 #include <bits/stdc++.h> using namespace std; #define ll long long const int maxn = ...