JavaScript(三)——补充判定(条件)关键字
前言
抱歉的和各位说一声,因为最近比较忙(且无电脑可用)导致在编纂博客的时候经常会丢下一些知识点,在此诚恳的说一声抱歉。
这次再来补充一下上一篇笔记的知识点,主要包括switch
语句、continue关键字、break关键字。
补充知识点
switch…case语句
<script type="text/javascript">
let flag = 3;
switch(flag){
case 1:
alert('flag为1');
case 2:
alert('flag为2');
case 3:
alert('flag为3');
case 4:
alert('flag为4');
}
</script>
上述语句也是一种条件语句,这是一种多分支结构,根据传递对应的参数来选择从哪个位置开始执行。在此前提下思考一个问题:如果按照上述代码执行,却只想执行 case 3
对应的语句,然后直接结束该分支结构(不想执行 4 ),那应该怎么办?
显然,单纯的switch语句并不能支持这种操作,在这种情况下就需要依赖下面的关键字。
break关键字
该关键字的含义是:强制结束当前执行的操作,并跳出当前代码块的作用域。代码解释如下:
for(let start = 0; start < 100; start ++){
if(start > 50){
break;
}
document.write(start);
}
按照循环语句的判定逻辑来看,该循环会一直执行到在页面上打印到99,然而在循环语句执行的代码块中加入了一个条件判定,在start
大于50的情况下要强制结束操作,并跳出当前代码的作用域。所以最后在页面上打印的结果就是50。
所以,switch...case
语句配合break关键使用的时候可以达成按照标志执行对应代码块的逻辑而不会做多余的操作。
<script type="text/javascript">
let flag = 3;
switch(flag){
case 1:
alert('flag为1');
break;
case 2:
alert('flag为2');
break;
case 3:
alert('flag为3');
break;
case 4:
alert('flag为4');
default:
alert('没有对应flag的操作')
}
// 补充:default是case 选项中没有对应flag的标志时执行的语句。
</script>
【注】:要注意的是break只能跳出一层循环,无法一次跳出多层循环(嵌套循环)。具体如下:
for(let start_pre = 0; start_pre < 10; start_pre ++){
for(let start_suf = 0; start_suf < 10; start_suf ++){
document.write(start_pre + start_suf + ' ');
if(start_suf == 5){
break;
}
}
}
上述代码中会从 00
开始输出两位数,并且只在内存循环添加了break语句,这个时候个位数字只能到5便会给十位进一;但是不会在 输出 15
以后结束程序。
continue
我们在编写程序时并不单单需要遇到某一个阈值便结束当前操作,更多的时候需要在遇到该阈值的时候跳过或单独执行一些操作,这个时候大家可能会想到用if来使用判定条件。
当然,这方法也不是不可行,但需要基于跳过或特殊操作较少的情况下才可以,否则可能会造成程序响应速度慢。在这种情况下,我们一般选用 continue
关键字来操作。
continue关键字的含义是强制结束当前循环并进入到下一次循环中。具体如下:
// 模拟酒桌上的敲 7 游戏
for(let start = 1; start <= 100; start ++){
// 由于JavaScript属于弱类型语言,所以在进行除法运算时无法像Java语言中的整型数据一样进行舍小数的操作,所以需要手动的对除法的结果进行整数操作
if(start == 7 || start % 10 == 7 || parseInt(start / 10) == 7){
continue;
}
document.write(start);
}
总结
本篇笔记是用作补充上一篇笔记的。
上一篇笔记的链接:
这两篇笔记配合一起学习。