break用来退出switch语句和循环语句,if语句不适用。break只对最近的循环语句生效
如果想要控制break结束的循环为外层循环,可以是创建一个标签,表示当前的循环
out:
for(var i=2;i<5;i++){
console.log('外')
for(j=1;j<5;j++){
break out;
console.log('内');
}
}
continue跳出当次循环:continue默认退出跳出离他最近的循环,如果想要终止外层循环,可以使用continue 标签:
continue out;
在使用优化,性能提升的时候continue,break:
使用js开启定时器,测试代码的性能:
console.time();//可以用来开启一个定时器console.time('计时器的名字,可以任意')
console.timeEnd('a')//可以用来终止一个定时器
console.time('a');//可以用来开启一个定时器console.time('计时器的名字,可以任意')
循环语句
程序的开始
程序的结束
console.timeEnd('a');
优化质数求解结果:
break优化:
console.time('a'); //可以用来开启一个定时器console.time('计时器的名字,可以任意')
for (var i = 2, flag = true; i < 101; i++) {
for (j = 2; j< i; j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) {
//console.log(i + '是质数');
}
flag = true;
}
console.timeEnd('a');
根据观察:发先对于一个数的求解,从小到大只需要到中间部分即可:超过中间部分的数字又是一个轮回,所以使用平方根,js中一个数的平方根=Math.sqrt(数字)
console.time('a'); //可以用来开启一个定时器console.time('计时器的名字,可以任意')
for (var i = 2, flag = true; i < 101; i++) {
for (j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) {
//console.log(i + '是质数');
}
flag = true;
}
console.timeEnd('a');