JS中for循环的四种写法
1.传统for循环
for (init; cond; inc) {}
与C++或Java类似,for关键字后用小括号描述循环设置,在小括号中用两个分号;将循环设置隔断为三个部分,分别为:
- init初始化语句(指令),在整个循环开始前执行
- cond条件(逻辑表达式),表示循环继续的条件
- inc自增语句(指令),在每次循环体结束以后执行
整个循环的执行步骤为:
- 执行init语句
- 计算cond表达式,若为假则退出循环
- 执行循环体body
- 执行inc语句,随后返回步骤2
举个栗子:
let sum = 0
for (let i = 1; i <= 10; i++) {sum += i
}
console.log(sum) // 55
2.for of 循环
for (const v of iterable) {}
这里的iterable是指各种能够被迭代的JS对象。最常用的例子是数组Array和字符串String,此外还有arguments、NodeList、Map、Set等等。执行的效果是,for循环会遍历iterable的每个项目,在每次循环中,代表变量v即为当前循环的项目。
举个栗子:
const arr = [1, 2, 3, 4, 5,6]
let sum = 0
for (const v of arr) {sum += v
}
console.log(sum) // 21
3.for in 循环
for (const k in object) {}
for in循环会遍历object的每个属性,在每次循环中,代表变量k即为当前属性的属性名称(key)。
需要注意的是for of和for in的区别,前者的代表变量是项目的值(value),后者的代表变量是属性的名称(key)。
举个栗子:
const obj = { a: 1, b: 2, c: 3 }
let sum = 0
for (const k in obj) {sum += obj[k]
}
console.log(sum) // 6
4.forEach 循环
Array.forEach(Function)
forEach是JS数组的原生方法。它接受一个函数作为参数,执行效果是对数组的每一个项目,执行传入的函数。传入的函数可以接受三个参数:(element, index, array),其中element表示当前项目的值,index表示当前项目的下标,array表示循环的数组本身。
通常在程序中我们更倾向于使用for of循环来代替forEach方法,因为for关键字使得代码的可读性更高。但是在一些特殊的情况下,我们依然会使用forEach方法循环遍历数组中的每个项目。
const arr = [1, 2, 3, 4, 5]
let sum = 0
arr.forEach((item,index) => sum += item)
console.log(sum) // 15
JS中for循环的四种写法相关推荐
- JS中for循环的两种写法
第一种: 最常见普遍的写法,适用于多种语言 for(let i = 0; i < 10 ; i++){console.log(i); } 打印结果: 第二种: 较第一种比较简单方便 const ...
- java for循环 写法_java中for循环的6种写法
packageForLoop;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;/*** java中for ...
- Vue中 模板template的四种写法
<div id="app"><h1>我是直接写在构造器里的模板1</h1> </div><template id=" ...
- VB中do循环的四种格式
在VB中,do循环具有四种格式. 格式1: do while 条件循环体 loop格式2: do until 条件循环体 loop格式3: do 循环体 loop while 条件格式4: do循环体 ...
- js中的for循环如何跳出,js中for循环的两种语法
js几种for循环的几种用法 谷歌人工智能写作项目:小发猫 js,for循环是怎么运行的? typescript有哪些变化. 最普遍的介绍:for循环是JavaScript中最常用的循环,标准for循 ...
- html页面循环报错,wxs 脚本中 for 循环的一种写法导致 page-frame.html 报错
- 当前 Bug 的表现(可附上截图) P.S. 本来昨天就想提这个问题,但今天想截图效果时,发现使用同一段代码时却无法复现了... 原本我是想在 wxs 中循环遍历一个数组,然后判断符合某个条件后再 ...
- Python从入门到实践:7-5电影票循环的四种写法,动手试一试
7-5电影票:有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费:3-12岁的观众为10元,超过12岁的观众为15元,请编写一个循环,在其中询问用户年龄,并指出其票价: #电影票 age = ...
- JS中回调函数的三种写法!
//第一种---------------------------------------- function parent(str,callback) {console.log(str);callba ...
- js中匿名函数的N种写法
匿名函数没有实际名字,也没有指针,怎么执行滴? 其实大家可以看看小括号的意义就应该可以理解.小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括号的 ...
最新文章
- elasticJob分片跑批
- 一次心血来潮的C程序编译 makefile
- iOS 去除导航栏下的黑线
- python copy模块_python日记第四章:python文件copy模块shutil
- 【Python】7000字,7幅图,这样就可以拿下Python字典?
- SP1811-Longest Common Substring【SAM】
- visual报表服务器项目,为 Visual Studio ALM 创建报表服务器项目
- 关于计算机考试网上操作的题目及答案,《计算机基础考试题及答案》.doc
- java创建文件夹和文件_Java创建文件夹与创建文件
- (转)Hibernate框架基础——映射集合属性
- sprintf 详解
- 计算机辅助英语教学 研究背景,计算机辅助外语教学中的教师角色研究
- It技能图谱(13张)
- 常用的台湾繁体字字体(轉)
- Python-移位密码、仿射变换解密
- python乘法口诀表打印
- 使用WinWedge软件记录satorius天平的数据(记录)
- 【Excel】数据透视表—新增一列(字段)
- Wifi密码破解与局域网抓包监听(小白--纯工具版)
- 漂亮的title提示信息
热门文章
- Linux中通过v4l2框架获取摄像头的能力的方法
- 数字IC设计入门篇:APB总线协议学习心得
- 在 Flutter 中使用 webview_flutter 4.0 | 基础用法与事件处理
- 游戏公司通用屏蔽字列表
- 关于35岁程序员失业的问题
- 20个值得一读的设计博客
- 凤舞天骄TB商店修改器V1.0(DELPHI源代码,无需注册)
- linux下如何将dts转换成dtb?
- 运行301毕设-初步学习
- 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记-- 章16 PCB设计和叠层结构