上篇我们讲了 break
, continue
, return
这三个常用的关键字, 本篇讲一下在具体循环或函数中的用法
结论
for
,for...in
,for...of
: 当没有label
标记时候,break
跳出本次循环并执行循环体后的代码,continue
结束本次循环执行下一次循环. 没有return
.Array.forEach
: 遍历整个数组,return false
或者return true
都是结束本次循环执行下一次循环. 没有break
或continue
. 我想你可能需要跳出 forEachArray.map
:map
和forEach
类似, 有返回值, 返回结果是return
值组成的数组.jQuery.each
:return false
跳出本次循环并执行循环体后的代码;return true
结束本次循环执行下一次循环. 没有break
或continue
.
for
1. break
:
1 | var arr = [1, 2, 3] |
如果不加 label
标记, break
跳出本次循环并执行循环体后的代码, 也就是本例的第二层循环.
2. continue
:
1 | var arr = [1, 2, 3] |
如果不加 label
标记, continue
结束本次循环执行下一次循环(都是针对第二层)
tips: for
循环里不能有 return
!
forEach
1. return false
:
1 | var arr = [1, 2, 3] |
结束本次循环执行下一次循环
2. return true
:
1 | var arr = [1, 2, 3] |
forEach return true
结束本次循环执行下一次循环
tips: forEach
循环里不能有 break
或 continue
!
Array.map
map
和 forEach
差不多, 区别是 map
的返回值是一个数组
for...in
1. break
1 | var arr = [1, 2, 3] |
for...in
中 break
跳出本次循环并执行循环体后的代码, 和 for
一样
2. continue
1 | var arr = [1, 2, 3] |
for...in
中 continue
结束本次循环执行下一次循环, 和 for
一样
tips: 当有 return
时会报错
for...of
1. break
1 | var arr = [1, 2, 3] |
for...of
中 break
跳出本次循环并执行循环体后的代码, 和 for
一样
需要注意的是这里的 i
是 arr
的 value
而不是 index
2. continue
1 | var arr = [1, 2, 3] |
for...of
中 continue
结束本次循环执行下一次循环, 和 for
一样
tips: for...of
循环里不能有 return
! 第一个参数是数组的值不是索引
$.each
1. return false
1 | var arr = [1, 2, 3] |
跳出本次循环并执行循环体后的代码
2. return true
1 | var arr = [1, 2, 3] |
结束本次循环执行下一次循环
tips: $.each
循环里不能有 break
或 continue
!