js-测试循环中断方法在不同迭代方法中的效果

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

 

上一篇:Element UI之Select选择器优化


下一篇:Java jar打包成exe应用程序(超详细)