javascript循环方式有几种?

摘要:JavaScript中的循环方式有for、forEach、do...while、while、for...in、for...of等。这几种循环方式的使用方式和其支持的循环类型有所不同。

JavaScript中的循环方式有for、forEach、do...while、while、for...in、for...of等。这几种循环方式的使用方式和其支持的循环类型有所不同。


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))


do...while

const list = ['a', 'b', 'c']
let i = 0do {
  console.log(list[i]) //value
  console.log(i) //index
  i = i + 1} while (i < list.length)

您可以使用break中断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 = 0while (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}

与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循环,它结合了forEach的简洁性和破解能力:

//iterate over the value
for (const value of ['a', 'b', 'c']) {  console.log(value) //value
}

//get the index as well, using `entries()`
for (const [index, value] of ['a', 'b', 'c'].entries()) {  
  console.log(index) //index
  console.log(value) //value}

注意使用const。此循环在每次迭代中创建一个新范围,因此我们可以安全地使用它而不是let。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_7823