switch case
switch里面放的是条件,case里面是判断,但是switch也存在一个bug:当它找到满足要求的条件时,后面的语句尽管不判断了,他也会把语句解释出来
如下:
var n = “a”;
switch(n){
case "a":
console.log('a');
case 2:
console.log('b');
case true:
console.log('c')
}//===>abc
解决方案:
var n = 2;
switch (n){
case "a":
console.log('a');
break;//终止语句,终止循环,不会执行其他
case 2:
console.log('b');
break;
case true:
console.log('c');
break;
}
当if(score == 90){
}else if (score == 100){
}时,当判断一个精准数时,当一种东西是否等于一个东西时,这种判断switch(){case“名称”:}是最好的选择,大于等于处理不了,但等于可以
练习题
判断周一到周五时,打印working,当周日周六的时候打印relaxing
var date = window.prompt('input');
switch(date){
case"monday":console.log('working');break;
case"tuesday":console.log('working');break;
case"wednesday":console.log('working');break;
case"thursday":console.log('working');break;
case"firday":console.log('working');break;
case"周六":console.log('relaxing');break;
case"周日":console.log('relaxing');break;
}
可简化
var date = window.prompt('input');
switch(date){
case"monday":
case"tuesday":
case"wednesday":
case"thursday":
case"firday":
console.log('working');break;
case"周六":
case"周日":
console.log('relaxing');break;
}
break是终止循环,一定要放在循环里,放在循环外面会报错
continue是终止本次循环,继续执行下一个循环
当for循环很多次时,读到continue时,本次循环体里面的内容不读了,直接执行下一个循环
for(var i = 0;i < 100; i++){
if(i % 7 == 0 || i % 10 == 7){
continue;
}
console.log(i);
}