break 关键字:如果在循环中运行到 break; 关键字,那么就会直接退出整个循环,继续执行循环下面的语句;

    continue 关键字:如果在循环中遇到 continue; 关键字,那么就会直接退出当前这一次循环,继续执行后面的循环;

    (注意:1. continue 关键字跳过的是循环体内的语句,对于 for 循环的计数器更新并不会跳过,如果将计数器的更新放在循环体语句中,并且还将 continue 放在计数器更新之前,那么就会导致死循环。2. 在循环语句中嵌套一个条件判断的逻辑分支,并将 continue 放在逻辑分支语句中,如果这个逻辑分支生效,那么这个 continue 可以作用于嵌套的上一层循环)

    break 和 continue 都会穿透逻辑分支语句,例如:if switch ;并且只作用于当前所在的循环结构,不会穿透影响更上一层的循环结构;

    break/continue 支持循环前的标签。标签是 break/continue 跳出嵌套循环以转到外部的唯一方法。例如:

    outer: for (let i = 0; i < 3; i++) {

    for (let j = 0; j < 3; j++) {

    let input = prompt(Value at coords (${i},${j}), ‘’); // 如果是空字符串或被取消,则中断并跳出这两个循环。

    if (!input) break outer; // (*) // 用得到的值做些事……

    }

    }

    alert(‘Done!’);

    break 指令必须在代码块内。从技术上讲,任何被标记的代码块都有效,例如:

    label: {

    // …

    break label; // 有效

    // …

    }

    ……尽管 99.9% 的情况下 break 都被用在循环内,就像在上面那些例子中我们看到的那样。

    continue 只有在循环内部才可行。