JavaScript基础知识-break和continue
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.break关键字会立即终止离他最近的那个循环语句
1>.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>break和continue</title> <script type="text/javascript"> for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ document.write("内层循环" + i + "<br />"); } } document.write("<hr />") /** * break关键字可以用来退出switch或循环语句,不能在if语句中使用break和continue。 * * break关键字会立即终止离他最近的那个循环语句。 */ for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ break; document.write("内层循环" + i + "<br />"); } } </script> </head> <body> </body> </html>
2>.浏览器打开以上代码渲染结果
二.在break后跟着一个lable,这样break将会结束指定的循环而不是最近的
1>.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>break和continue</title> <script type="text/javascript"> /** * 可以为循环创建一个label来标识当前的循环,语法格式为如下: * label:循环语句 * 使用break语句时,可以在break后跟着一个lable,这样break将会结束指定的循环而不是最近的 */ outer: for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ break outer; document.write("内层循环" + i + "<br />"); } } </script> </head> <body> </body> </html>
2>.浏览器打开以上代码渲染结果
三.continue也是默认只会对离他最近的循环起作用。
1>.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>break和continue</title> <script type="text/javascript"> /** * continue关键字可以用来跳过当前循环 ,同样continue也是默认只会对离他最近的循环起作用。 */ for(var i=0;i<5;i++){ document.write(i + "<br />"); if (i === 2){ continue; } } document.write("<hr />") for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ if (j === 1){ continue; } document.write("@内层循环" + j + "<br />"); } } </script> </head> <body> </body> </html>
2>.浏览器打开以上代码渲染结果
四.在continue后跟着一个lable,这样break将会结束指定的循环而不是最近的
1>.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>break和continue</title> <script type="text/javascript"> /** * continue关键字可以用来跳过当前循环 ,同样continue也是默认只会对离他最近的循环起作用。 */ for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ if (j === 1){ continue; } document.write("@内层循环" + j + "<br />"); } } document.write("<hr />") outer: for(var i=0;i<5;i++){ document.write("@外层循环" + i + "<br />"); for(var j=0;j<5;j++){ if (j === 1){ continue outer; } document.write("@内层循环" + j + "<br />"); } } </script> </head> <body> </body> </html>
2>.浏览器打开以上代码渲染结果
五.打印1-100000之间的所有质数并计时
1>.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>break和continue</title> <script type="text/javascript"> /** * 测试如下程序的性能,在程序执行之前开启计时器. * onsole.time("计时器名称"); * 一个网页中可能由多个计时器,因此它需要一个字符串作为参数,这个字符串将会作为计时器的标识。 */ console.time("test"); /** * 打印出1-100000之间所有的质数 */ for(var i=2;i<=100000;i++){ var flag = true; //匹配的终止条件是对i开方对应的值,这样可以减少循环的次数 for(var j=2;j<Math.sqrt(i);j++){ if(i%j == 0){ //如果进入则证明i不是质数,修改flag值为flase flag = false; //一旦进入判断,则证明i不可能时质数了,此时循环再执行已经没有任何意义了,使用break来结束循环 break; } } //如果时质数,则打印i的值 if(flag){ document.write(i+ "<br/>"); } } //终止计时器,它也需要一个计时器的名称作为参数,告诉它需要停止哪个计时器。 console.timeEnd("test") </script> </head> <body> </body> </html>
2>.浏览器打开以上代码渲染结果