continue
跳出本次循环,继续下一循环,相对于整个循环,少一次循环次数。
<script>
for(var i = 1;i<=5;i++){
if(i == 3){
continue;
}
document.write(i);
}
</script>
代码分析:首先进入for循环,初始i=1,满足i<=5,进入for循环体;for循环体里有if判断,i=1不满足i == 3,所以跳过,执行打印语句,然后回到for循环的条件迭代i++,i=2。进入第二轮循环,满足i<=5,进入for循环体;for循环体里有if判断,i=2不满足i == 3,所以跳过,执行打印语句,然后回到for循环的条件迭代i++,i=3。进入第三轮循环,满足i<=5,进入for循环体;for循环体里有if判断,i=3满足i == 3,此时进入if执行语句,要求continue,跳出i=3的循环(不执行i=3的打印语句),直接回到for循环的条件迭代i++,i=4……最终页面打印了1245。
我们再来做一个小练习:依次输入5名学员成绩,如果成绩输入为负数,报错,最后输出学员的成绩。
<script>
for (var i = 1; i <= 5; i++) {
var num = parseInt(prompt('请输入第' + i + '位学生的成绩:'));
if (num < 0) {
alert('您输入的数据错误!');
continue;
}
document.write('第' + i + '位学生的成绩为:' + num + '<br>');
}
</script>
代码分析:依次输入5名学员成绩意味着弹出框需要弹出五次,所以我们需要把prompt写在for循环内,for循环的()内是表明循环次数,{}是每次循环需要执行的语句。当输入的成绩为负数时,我们使用if()判断,在if()判断的{}内是满足判断条件后需要执行的语句,我们将这些的作用理清楚后,代码就有了对应的位置。
break
跳出整个循环,循环到此结束,相对于整个循环,循环次数就是当前。 不仅可以用在for循环,也可以用在其他循环
<script>
for(var i = 1;i<=5;i++){
if(i == 3){
break;
}
document.write(i);
}
</script>
代码分析:在i=3之前的过程都与continue一样,当i=3。进入第三轮循环,满足i<=5,进入for循环体;for循环体里有if判断,i=3满足i == 3,此时进入if执行语句,要求break,所以我们退出for循环,结束当前代码。此时页面只打印了12。
调试代码
当我们的代码在执行中遇到问题,我们可以使用下面三种办法来找到问题出在哪里:
- alert(); 阻止代码进行下一步,直到点击确定后,继续执行;
- debugger 打开检查后台,点击刷新,弹出蓝色按钮,点击按钮可以按顺序看到代码执行过程;
- console.log() 在控制台查看代码过程。