1. 背景
考虑这样的使用场景,我们需要编写程序,计算1至10000以内,第一个既能被123,又能被18整除的数字。
按照我们之前学习的技术,可以使用for循环处理,代码如下:
for (var i = 1; i <= 10000; i++) {
//从1到10000遍历
if (i % 123 == 0 && i % 18 == 0) {
//同时被123和18整除
console.log(i);
}
}
此时我们打开浏览器控制台,发现输出如下。我们是想找第一个符合要求的数字,也就是找到738就可以了,但是实际上程序还在继续寻找,直到i大于10000才结束运行。
也就是说,i从739开始,到10000,这些工作都是白干,没啥意思,浪费了计算机的计算能力。
所以我们需要找到738后,就提前结束循环。
2. 使用break跳出循环
break的作用就是,当程序执行break这句代码时,会跳出break所在的循环语句,即直接跳出for/while循环。
我们改造代码如下:
for (var i = 1; i <= 10000; i++) {
//从1到10000遍历
if (i % 123 == 0 && i % 18 == 0) {
//同时被123和18整除
console.log(i);
break; //跳出循环
}
}
// xxx
当i的值达到738后,满足了if条件判断,所以执行console.log(i);
输出i的值,然后执行break;
跳出for循环,所以就会跳到//xxx
处执行循环外面的后续语句。
3. 在while中使用break
上面的示例中,我们演示了在for循环中使用break,while循环同样可以使用break,代码如下:
var i = 1;
while (i <= 10000) {
if (i % 123 == 0 && i % 18 == 0) {
//同时被123和18整除
console.log(i);
break; //跳出循环
}
i++;
}
4. 小结
使用break,可以提前结束我们的工作,不必固执的执行到底。例如我们需要招聘一个JavaScript软件开发工程师,我们找到1个后就可以结束该招聘工作了,而不是永无止境的招聘下去。