小白必看!JS中循环语句大集合
摘要:JavaScript中,一共给开发者提供了一下几种循环语句,分别是while循环,do…while循环,for循环,for Each,for…in循环和for…of循环。
本文分享自华为云社区《JS中循环语句大集合丨【WEB前端大作战】》,原文作者:hwJw19 。
JavaScript中,一共给开发者提供了一下几种循环语句,分别是while循环,do…while循环,for循环,for Each,for…in循环和for…of循环。
下面我们就通过本文来仔细分辨一下,各个循环的使用差异。
while循环
语法:
while (expr){statement}
expr为条件表达式,当expr为真时,执行statement语句,执行结束后,再次进入下一轮循环,直到条件表达式为假时,跳出循环。
代码示例:
var n = 1; //声明并初始化循环变量
while(n <= 100){ //循环条件n++; //递增循环变量if (n % 2 == 0) document.write(n + ""); //执行循环操作
}
do…while循环
语法:
do{statement
} while(expr)
do…while循环与while循环很相似,区别在于,while循环是先判断再执行,而do…while循环会先执行一次语句,然后再开始判断循环。不论条件为真或者是假,都会执行一次。
代码示例:
var text = "" var i = 0;
do {
text += "<br>数字为 " + i; i++;
} while (i < 5);
document.getElementById("demo").innerHTML = text;
for循环
语法:
for (expr 1; expr 2; expr 3)
{statement
}
for循环想必也是大家比较熟悉的一种循环方式了,for循环主要用户循环执行一定次数的代码块,小括号中,是for循环的条件,花括号中,是循环条件为true时所需要执行的语句。缺点是写法比较麻烦。
示例代码:
for (var i=0; i<5; i++) {
x=x + "该数字为 " + i + "<br>";
}
forEach循环
语法:
array.forEach(function(currentValue, index, arr), thisValue)
由于for循环的写法比较繁琐,因此数组提供了内置的forEach方法,语法中的参数currentValue是必填的,其他参数选填。forEach语句的问题在于,无法中途跳出forEach循环,break命令或return命令都不能奏效。
代码示例:
var arr = [1, 2, 3, 4, 5];
arr.forEach(function (item) {console.log(item);
});
for…in循环
语法:
for (var in object) {
statement
}
for…in循环主要用于循环遍历对象,可以获取对象的键名,但是for…in并不适合遍历数组,主要有如下原因:
- 数组的键名是数字,但是..in循环是以字符串作为键名“0”、“1”、“2”等等。
- ..in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。
- 某些情况下,..in循环会以任意顺序遍历键名。
代码示例:
var person = {fname:"John", lname:"Doe", age:32}; var text = "";
var x;
for (x in person) {text += person[x] + " ";
}
for...of循环
语法:
for (variable of iterable) {//要执行的语句
}
for...of循环,是可以遍历所有数据结构的统一的方法,它可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符串。读取的是遍历对象的键值。for...of循环的优点:
- 有着同for...in一样的简洁语法,但是没有for...in那些缺点。
- 不同于forEach方法,它可以与break、continue和return配合使用。
- 提供了遍历所有数据结构的统一操作接口。
代码示例:
const iterable = ['mini', 'mani', 'mo'];for (const value of iterable) {console.log(value);
}
关于JS循环语法的相关内容,就简单到这里了,欢迎大家留言区沟通交流,批评指正。
点击关注,第一时间了解华为云新鲜技术~
小白必看!JS中循环语句大集合相关推荐
- JS中for语句的循环的嵌套
今天说一下JS中for语句的循环嵌套. for语句是JS中十分重要的循环语法. for(表达式1;表达式2;表达式3){for(表达式4;表达式5;表达式6){执行语句块儿}} 这是嵌套写法的基本结构 ...
- acm新手小白必看系列之(5)——枚举进阶例题精讲
acm新手小白必看系列之(5)--枚举进阶例题精讲 1.牛奶碑文(暴力枚举) 小伟暑假期间到大草原旅游,在一块石头上发现了一些有趣的碑文.碑文似乎是一个神秘古老的语言,只包括三个大写字母 C.O 和 ...
- 小白必看、手把手教你利用爬虫爬网页
接下来从网络爬虫的概念.用处与价值和结构等三个方面,让大家对网络爬虫有一个基本的了解. 网络爬虫及其应用 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战, ...
- acm新手小白必看系列之(3)——暴力枚举精讲及例题
acm新手小白必看系列之(3)--暴力枚举精讲及例题 暴力枚举说白了就是列举所有情况,然后一个一个排查. 这节多说无益直接上题(这节假的精讲) 1·大乐透 在小明曾经玩过的一种对号码的纸牌游戏(乐透) ...
- 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...
- java中循环语句_Java语法基础之循环结构语句详解
一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...
- 智能车小白必看,该竞赛相关宝贵经验+资源借鉴总结1
文章目录 智能车小白必看,该竞赛相关宝贵经验+资源借鉴总结1 竞赛准备的大体流程 做智能车竞赛的宏观建议整合 摄像头组的具体建议 学习资源链接 后记 经验参考来源 智能车小白必看,该竞赛相关宝贵经验+ ...
- 如何选择一台高性能计算机,【小白必看】如何选购电脑?
原标题:[小白必看]如何选购电脑? 作为21世纪现代人,电脑早就成为我们生活和办公的"标配"了!工(wang)作(yin)狂(shao)人(nian)质量君也是一天都离不开它. 但 ...
- centos7 mysql创建表_CentOS7 MySQL数据库入门 小白必看
昨天网盾科技发布的一篇关于CentOS7配置ssh的文章,有很多小伙伴都收藏了,想必是对大家很有帮助,那么今天网盾科技再给大家分享一篇关于CentOS7配置MySQL数据库入门的文章,小白必看哟! l ...
最新文章
- Go中协程间通信的方式Sync.Cond
- 实现O(1)时间复杂度带有min和max 函数的栈
- 力压清华北大!深圳大学,世界第三!国际专利申请最新榜单出炉
- numpy一维数组的反转/倒序
- php 商城套餐搭配功能,速卖通商品搭配套餐功能已上线!设置速卖通搭配套餐仅需三步...
- powershell设置了权限依旧无法运行脚本_Power Shell折腾记
- JavaScript异常处理
- 拖拽之路(一):自定义QListWidget实现美观的拖拽样式(拖拽即选中)
- 四边形内接于圆定理_中考数学提分36计之第19计思维模型助你轻松搞定圆问题,提分必备...
- 目标检测(二十)--Mask R-CNN
- ACL'22 | 一文解读复旦黄萱菁、邱锡鹏等老师NLP实验室的12篇长文
- JAVA学习:坦克大战(怀旧版)游戏开发代码
- linux备份数据库
- 干货篇 | 当CPU使用率达到100%该怎么办?
- SpringBoot整合shiro实现细粒度动态权限
- 如何写一个简单的时钟表盘(qt)
- Bailian——4074积水量
- 女生到社会上会遇到比学校更优秀的男生,而男生很难找到比在学校更好的女生。是吗?
- 中国前十软件公司招聘官网聚合
- 支付宝:批量付款到支付宝账户有密接口
热门文章
- 前端:JS/20/数组(数组的概念,数组元素,数组索引,数组元素的访问,数组的长度,数组的创建方法,数组的操作,实例:使用数组保存个人信息,实例:求数组所有值的平均值,数组对象的length属性)
- 在实践中总结出的几条 CodeReview 实用经验
- node事件循环 EventEmitter 异步I/O Buffer缓冲区 模块
- 服务器端的JavaScript
- String.fromCodePoint()方法
- oracle数据泵导入导出_【软件】R语言数据导入与导出
- 第四周Java学习总结
- fedora27 GPaste
- Servlet简单实现请求分发(类thinkphp5)
- java控制台输出等腰三角形,并且是倒序正序输出【原创】