- 前言
- 关于 ECMASCRIPT 发展史和现状
- ES6 带来的重大特性
- ES2016(ES7)的改进
- ES2017(ES8)带来的重大新特性
- ES2018(ES9)带来的重大新特性
- JavaScript 编码风格指南
- JavaScript 词法结构(构建块)
- JavaScript 变量
- JavaScript 数据类型
- JavaScript 表达式
- 原型继承
- 如何使用 JavaScript 中的 Classes(类)
- JavaScript 异常处理
- JavaScript 中的分号(;)
- JavaScript 中的引号
- JavaScript 字面量模板(Template Literals)指南
- JavaScript 中的 function(函数)
- JavaScript 箭头函数(Arrow Function)
- JavaScript 中的闭包(Closures)
- JavaScript 数组(Arrays)
- JavaScript 中的循环(Loops)
- JavaScript 中的事件(Events)
- JavaScript 中的事件循环(Event Loop)
- JavaScript 异步编程和回调
- 理解 JavaScript 中的 Promises
- 用 async 和 await 编写现代 JavaScript 异步代码
- JavaScript 中的 循环(Loops) 和 作用域(Scope)
- JavaScript 定时器 setTimeout() 和 setInterval()
- JavaScript 中的 this
- JavaScript 严格模式(Strict Mode)
- JavaScript 中的 立即执行函数表达式(IIFE)
- JavaScript 中的数学运算符
- JavaScript 中的 Math 对象
- 介绍 ES Modules(模块)
- 介绍 CommonJS
- JavaScript 术语表
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
JavaScript 中的循环(Loops)
JavaScript 提供了许多迭代循环的方法。本节通过一个小例子和主要属性解释现代 JavaScript 中的所有各种循环方法。
for
const list = ['a', 'b', 'c']
for (let i = 0; i < list.length; i++) {
console.log(list[i]) //value
console.log(i) //index
}
- 您可以使用
break中断for循环 - 您可以使用
continue快速进入到for循环的下一次迭代
forEach
在 ES5 中引入。给定一个数组,您可以使用 list.forEach() 迭代其属性:
const list = ['a', 'b', 'c']
list.forEach((item, index) => {
console.log(item) //value
console.log(index) //index
})
//index is optional
list.forEach(item => console.log(item))
不幸的是,你无法中断 forEach 循环。
do…while
const list = ['a', 'b', 'c']
let i = 0
do {
console.log(list[i]) //value
console.log(i) //index
i = i + 1
} while (i < list.length)
可以通过 break 中断 do...while 循环:
do {
if (something) break
} while (true)
你可以使用 continue 跳转到下一个迭代:
do {
if (something) continue
//do something else
} while (true)
while
const list = ['a', 'b', 'c']
let i = 0
while (i < list.length) {
console.log(list[i]) //value
console.log(i) //index
i = i + 1
}
您可以使用 break 中断 while 循环:
while (true) {
if (something) break
}
你可以使用 continue 跳转到下一个迭代:
while (true) {
if (something) continue
//do something else
}
while 与 do...while 的区别在于 do...while 至少执行一次循环。
for…in
迭代对象所有可枚举属性。
for (let property in object) {
console.log(property) //property name
console.log(object[property]) //property value
}
for…of
ES2015 中引入了 for...of 循环,它结合了 forEach 的简洁性,并且 for...of 循环具有可以中断循环特性:
// 迭代值
for (const value of ['a', 'b', 'c']) {
console.log(value) //value
}
//使用 `entries()`,获取索引
for (const [index, value] of ['a', 'b', 'c'].entries()) {
console.log(index) //index
console.log(value) //value
}
注意使用 const 。这个循环在每次迭代都创建了一个新的作用域,所以我们可以安全的使用它替代 let 。
for…in vs for…of
和 for...in 不同的是:
for...of迭代属性值for...in迭代属性名
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论