返回介绍

JavaScript 中的循环(Loops)

发布于 2025-01-23 23:27:40 字数 2631 浏览 0 评论 0 收藏 0

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
}

whiledo...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 迭代属性名

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文