上篇我们讲了 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 !