let arrTest = [1, 2, 3, 4, 5, 6, 7] // (1)测试break/return 在for of/for/for in /forEach()中效果 // 测试结果 // for of || for || forEach() || for in // return errow errow 无效果 errow // break yes yes errow yes // continue yes yes errow yes for (let el of arrTest) { if (el == 4) { // return 0// 会报错 不支持return // break //效果为中断整个循环 continue //效果为中断该次循环,直接开始下一次 } console.log(el) } for (let i = 0; i < arrTest.length; i++) { if (arrTest[i] == 4) { // return 0// 会报错 不支持return // break //效果为中断整个循环 continue //效果为中断该次循环,直接开始下一次 } console.log(arrTest[i]) } arrTest.forEach(el => { if (el == 4) { return // 不会报错 但是不会终止循环 // break // 报错不支持break // continue // 报错不支持continue } console.log(el) }); for (let index in arrTest) { if (arrTest[index] == 4) { // return 0// 会报错 不支持return // break //效果为中断整个循环 continue //效果为中断该次循环,直接开始下一次 } console.log(arrTest[index]) } // (2)测试函数体中是否支持return // 结果,除了forEach() 其他循环方式都支持return中断 function test1(arr) { for (let el of arr) { if (el == 4) { return "for of在函数体中支持return,会终止整个循环" } console.log("函数:" + el) } } console.log(test1(arrTest)) function test2(arr) { for (let index in arr) { if (arr[index] == 4) { return "for in在函数体中支持return,会终止整个循环" } console.log("函数:" + arr[index]) } } console.log(test2(arrTest)) // forEach()中return在函数中也不支持,没有效果 function test3(arr) { arr.forEach(item => { if (item == 4) return "forEach()在函数体中不支持return,会终止整个循环" console.log("函数:" + item) }) } console.log(test3(arrTest)) // for function test4(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] == 4) { return "for在函数体中支持return,会终止整个循环" } console.log("函数:" + arr[i]) } } console.log(test4(arrTest))