JavaScrip中的循环语句
循环语句
循环语句,也是流程控制语句中不可或缺的一种结构。在 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中的循环语句的更多相关文章
- js中的循环语句
js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) { //statements;} var a=1,b=0; whil ...
- shell脚本中select循环语句用法
shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...
- 详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- Swift中的循环语句
循环语句能够使程序代码重复执行.Swift编程语言支持4种循环构造类型:while.do while.for和for in.for和while循环是在执行循环体之前测试循环条件,而do while是在 ...
- shell编程中的循环语句
while循环直接从文件中读取 while read line do command done < filename until循环 until 条件 do command done for循环 ...
- 洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句
所有的编程语言里都有判断语句和循环语句. 判断语句则是用来分支程序流程的 循环语句则是为了实现一个效果,让程序的规律性的重复操作 不用说,分支和循环自然在python里也是有的 一,条件判断:if,i ...
- Shell编程-08-Shell中的循环语句
目录 while语句 until语句 for语句 select语句 循环中断控制 循环语句总结 循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行.在Shell中常见的 ...
- Shell中的循环语句实例
1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do echo number $x done 注:" ...
- Oracle--存储过程中之循环语句
一般循环语句有两种: 1)使用for循环实现 declare cursor cur is select * from tablename; aw_row tablename%rowtyp ...
随机推荐
- centos安装完php-fpm、nginx后访问网站出现权限问题
nginx.conf www.conf 这两个文件上面改用户为www. 如果不知道自己的配置文件位置问题,使用命令查找文件位置: find / -name 'nginx.conf' -print 添加 ...
- js 事件驱动原理
还记得当初学JAVA-GUI编程时学习过事件监听机制,此时再学习JavaScript中的事件驱动机制,不免简单.当初学习时也是画过原理图,所以从原理图开始吧! js是采用事件驱动(event-driv ...
- NuGet包介绍
Antlr 各种语言的语法识别器.解析器.编译和翻译器 Microsoft.AspNet.Web.Optimization 绑定优化CSS和JavaScript文件,也就是App_Start下的Bun ...
- IOS配置cocos2d-x
cd /Users/wyc/Desktop/cocos2d-x-3.16/tools/cocos2d-console/bin python cocos.py new HelloWorldDemo -p ...
- 3、docker 容器管理
Docker容器相对于OpenStack的云主机实例,虽然他们本质上不同.我们需要基于镜像来创建容器.容器是独立运行的一个或一组应用,以及它们的运行环境.对应的,虚拟机可以理解为模拟运行的一整套操作系 ...
- 校园商铺-2项目设计和框架搭建-7验证Dao
以最简单的地区表为例 1.插入数据 insert into tb_area (area_name, priority) values('东苑', 1),('南苑', 7),('北苑', 5); sel ...
- day29 面向对象入门
Python之路,Day17 = Python基础17-面向对象入门 创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “ ...
- Bootstrap FileInput.js + springmvc uploadFile
下载FileInput.js http://plugins.krajee.com/file-input/demo https://github.com/kartik-v/bo ...
- golang模块viper读取配置文件
一.介绍 Viper是一个方便Go语言应用程序处理配置信息的库.它可以处理多种格式的配置.它支持的特性: 设置默认值 从JSON.TOML.YAML.HCL和Java properties文件中读取配 ...
- [JZOJ 5698] 密码锁
思路: 差分+排序 #include <bits/stdc++.h> using namespace std; #define ll long long const int maxn = ...