break
- break关键字可以用来退出 switch 或循环语句,
- 不能在 if 语句中使用 break 和 continue
- break 关键字,会立即终止离他最近的那个循环
可以为循环语句创建一个 label(标签),来标识当前的循环
语法:
- label : 循环语句
使用 break语句时,可以在 break后跟着一个 label,
这样 break 将会结束指定的循环,而不是最近的
label:
for(i = 0; i < 5;i++){
console.log("*");
for(j = 0; j < 5; j++){
break label;
console.log("*");
}
}
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()
- 对一个数进行开方