break

  • break关键字可以用来退出 switch 或循环语句,
  • 不能在 if 语句中使用 break 和 continue
  • break 关键字,会立即终止离他最近的那个循环

可以为循环语句创建一个 label(标签),来标识当前的循环
语法:

  • label : 循环语句

使用 break语句时,可以在 break后跟着一个 label,
这样 break 将会结束指定的循环,而不是最近的

  1. label:
  2. for(i = 0; i < 5;i++){
  3. console.log("*");
  4. for(j = 0; j < 5; j++){
  5. break label;
  6. console.log("*");
  7. }
  8. }

continue

  • continue关键字可以用来跳过当次循环
  • 同时 continue 也是只会对离他自身最近的循环起作用 :::info continue 一但执行,它下面的所有语句直接跳过 :::

    for(var n = 0; n < 5;n++){
    for(var j =0; j<5;j++){
      if(j == 2){
        continue;
      }
      console.log(j);
    }
    // console.log(n);
    }
    

    质数练习的优化

    // 测试如下程序的性能
    // 在程序执行前,开启计时器
    // console.time("计时器的名字")  可以用来开启一个计时器
    // 它需要一个字符串作为参数,这个字符串将会作为计时器的标识
    console.time("hello");
    // 打印1-100之间的所有质数
    for (var i = 2; i <= 1000; i++) {
    var flag = true;
    // 判断 i 是否是质数
    // 获取到2-i之间的所有的数
    for (var j = 2; j < Math.sqrt(i); j++) {
      // console.log(j);
      // 判断 i 是否能被 j 整除
      if (i % j == 0) {
        // 如果进入判断则证明 i 不是质数,修改 flag值为 false
        flag = false;
        // 一但进入判断,则证明 i 可能是质数,此时循环在执行就没有任何意义
        // 使用 break来结束循环
        break;
        // hello: 6.420654296875 ms
        // hello: 11.193115234375 ms
      }
    }
    // 是质数则打印 i
    if (flag) {
      console.log(i);
    }
    }
    // 终止计时器
    // console.timeEnd() 用来停止一个计时器,需要一个计时器的名字作为参数
    console.timeEnd("hello");
    

    console.time(“计时器的名字”)

  • 可以用来开启一个计时器

  • 它需要一个字符串作为参数,这个字符串将会作为计时器的标识

console.timeEnd(“计时器的名字”)

  • 用来停止一个计时器

Math.sqrt()

  • 对一个数进行开方