javascript-循环 loop
JavaScript 提供了许多迭代循环的方法。本节通过一个小例子和主要属性解释现代 JavaScript 中的所有各种循环方法。
- while, do…whild
- for
- forEach 不能 跳出
- for…in hasOwnProperty() key名
- for…of value值
for
JavaScript 代码:
1 | const list = ['a', 'b', 'c']; |
您可以使用 break
中断 for
循环
您可以使用 continue
快速进入到 for
循环的下一次迭代
forEach
在 ES5 中引入。给定一个数组,您可以使用 list.forEach()
迭代其属性:
JavaScript 代码:
1 | const list = ['a', 'b', 'c']; |
不幸的是,你无法中断 forEach
循环。
do…while
JavaScript 代码:
1 | const list = ['a', 'b', 'c']; |
可以通过 break
中断 do...while
循环:
JavaScript 代码:
1 | do { |
你可以使用 continue
跳转到下一个迭代:
JavaScript 代码:
1 | do { |
while
JavaScript 代码:
1 | const list = ['a', 'b', 'c']; |
您可以使用 break
中断 while
循环:
JavaScript 代码:
1 | while (true) { |
你可以使用 continue
跳转到下一个迭代:
JavaScript 代码:
1 | while (true) { |
while
与 do...while
的区别在于 do...while
至少执行一次循环。
for…in
迭代对象所有可枚举属性。 会遍历原型链的, 结合 Object.prototype.hasOwnProperty()
JavaScript 代码:
1 | for (let property in object) { |
for…of
ES2015 中引入了 for...of
循环,它结合了 forEach
的简洁性,并且for...of
循环具有可以中断循环特性:
JavaScript 代码:
1 | // 迭代值 |
注意使用 const
。这个循环在每次迭代都创建了一个新的作用域,所以我们可以安全的使用它替代 let
。
for…in vs for…of
和 for...in
不同的是:
for...in
迭代属性名 keyfor...of
迭代属性值 value