一、switch判断语句
swicth 判断语句, 用来匹配特定的值
switch(变量或字面量){
case 值1:
要执行的语句;
case 值2:
要执行的语句;
case 值3:
要执行的语句;
}
case 理解成一个标记, case并不是完全执行的, 只会执行匹配到的case 后面的代码
case 的匹配是严格相等的, 需要值相等而且类型相等
break; 跳出switch语句 和 三个循环语句
default:
// 如果没有break,这句话一定会执行
// 如果前面的case没有匹配上, 这句话也会执行
// console.log(“如果前面的case都没有匹配上, 一定会执行default”);
- 多范围匹配
var month = 8;
switch (month) {
case 1:
case 2:
case 3:
console.log("第一季度");
break;
case 4:
case 5:
case 6:
console.log("第二季度");
break;
case 7:
case 8:
case 9:
console.log("第三季度");
break;
case 10:
case 11:
case 12:
console.log("第四季度");
break;
}
- 匹配范围值
var i = 59;
switch (true) {
case i >= 0 && i < 60: // true
console.log("不及格");
break;
case i >= 60: // false
console.log("及格");
break;
}
二、if判断语句
if如果 else否则
if判断语句, 语法如下👇👇👇
- 单分支
if(判断语句)
{
如果条件成立就执行里面的代码
}
- 双分支
if(判断语句){
如果条件成立就执行里面的代码
}else{
否则执行下面的代码
}
- 多分支
if(判断语句1){
如果判断语句1成立就执行里面的代码
}else if(判断语句2){
否则 如果 判断语句2成立 就执行里面的代码
}else if(判断语句3){
否则 如果 判断语句3成立 就执行里面的代码
}else{
否则 执行最后的代码
}
三、while 循环语句
语法:
while(判断条件){
如果条件成立, 就执行里面的代码
直到条件不成立 或 break; 才会跳出循环
}
使用循环语句要避免死循环的情况 (判断语句一直为真, 就会造成死循环)
四、do while 循环
语法:
do{
// 不管条件是否成立, 都先执行一次do里面的代码
// 再通过判断条件, 条件成立继续执行, 条件不成立就跳出循环
// 也可以通过break跳出循环
}while(判断条件)
五、for循环(重点)
- 思考:为什么 for 循环是更好的迭代数组的方法?
因为:使用while循环时,必须使用单独的语句来初始化和递增计数器。
大刀阔斧地修改代码时,如果不小心移动或删除了这些语句,可能带来极其糟糕的后果。
使用for循环时,这些代码都封装在for语句中,代码更加清楚,很难不小心修改或删除它们。
语法:
for(语句1; 判断条件; 语句3){
}
- for循环可以嵌套for循环
for(var i = 1; i<=3 ; i++){
// console.log("i =>", i); // 1 2 3
for(var j = 1; j<=3 ; j++){
// console.log(j); // 1 2 3
console.log("i =>",i , "j =>",j);
// 1 1
// 1 2
// 1 3
// 2 1
// 2 2
// 2 3
// 3 1
// 3 2
// 3 3
}
}
六、跳出循环
- continue; 跳出这一次的循环,执行下一次的循环
- break; 跳出整个for循环
for(var i=1; i<=10; i++){
// 遇到偶数
if(i % 2 == 0){
// break;
continue; // 不在执行他后面的代码,跳出本次循环,直接开始下一次循环
}
console.log(i);
}