循环语句

循环语句,也是流程控制语句中不可或缺的一种结构。在 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. 唯一id

    package com.debug.kill.server.utils; /** * Created by Administrator on 2019/6/20. */ import org.apac ...

  2. 001-Java命名规范

    1. 包名 多个单词都小写xxxyyyzzz 2.类名和接口名 多单词组成时,所有单词的首字母大写XxxYyyZzz 3.变量名和方法名 多单词组成时,第一个单词首字母小写,后面单词首字母军大写 xx ...

  3. extern const 不能一起用

    转载至:https://www.cnblogs.com/herenzhiming/articles/5442893.html 常变量在定义的时候必须初始化,所以当你在a.cpp中定义extern co ...

  4. Flutter BottomNavigationBar切换会刷新当前页面解决方

    问题描述 BottomNavigationBar 是flutter 中最常用的UI组建,刚接触时发现在切换tab 的时候,会刷新当前的所有状态,每个页面都会重新刷新.于是乎,在这里先记录下解决方案. ...

  5. shell 通配符,管道符,输入/输出重定向,命令置换

    1. echo 输出   [echo 输出的内容 ]把内容输出到终端上 如果字符串使用双引号,echo命令原样输出   [ echo "hello       world" ]  ...

  6. C#学习笔记----反射基础

    反射基础 反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程.通过反射可以获得.dll和.exe后缀的程序集里面的信息.使用反射可以看到一个程序集内部的类,接口,字段,属性,方法, ...

  7. Leetcode208. Implement Trie (Prefix Tree)实现Trie(前缀树)

    实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作. 示例: Trie trie = new Trie(); trie.insert(" ...

  8. springboot mail 发送邮件

    新开发了一个新的功能,要求使用java发送邮件,在此记录下代码,以方便后来者: 1.首先需要开通邮箱,开通smtp功能,我这边使用的是新浪邮箱,试过163.qq,比较麻烦,后来看到别人使用新浪,直接使 ...

  9. 使用CompletionService批处理任务(线程池阻塞线程)

    CompletionService ExecutorService BlockingQueueFuture 如果你向Executor提交了一个批处理任务,并且希望在它们完成后获得结果.为此你可以保存与 ...

  10. 最大流拆点——hdu2732,poj3436

    一种很普遍的做法就是把一个带有容量的点拆成两个点,一个入点一个出点,链接两个点的边的权值为这个点的容量 hdu3732 #include<cstdio> #include<cstri ...