流程控制
如果没有流程控制,JS的代码将会从上至下依次执行
有了流程控制,可以根据需求来进行代码的执行顺序
JS中的流程控制:无非就是 if 和 switch
其中if分为 简单的if if-else if else if
使用if语句实现只有当年龄(age变量值)大于等于18周岁时,才输出“已成年”,
否则无输出。
var age = 18;
if (age>=18) {
alert("已成年");
}
使用if…else语句实现当年龄(age变量值)大于等于18周岁时,输出“已成年”,
否则输出“未成年”,示例代码如下。
var age = 18;
if (age>=18) {
alert("已成年");
}else{
alert("未成年");
}
使用if…else if…else语句实现对一个学生的考试成绩按分数进行等级的划分:
90~100分为优秀,80~90分为良好,70~80分为中等,60~70分为及格,分数小于60则为不及格。
var score = 75;
if (score > 90) {
alert("优秀")
} else if(score>80) {
alert("良好");
}else if(score>60){
alert("及格");
}else{
alert("不及格");
}
如果可能性较少 就有2-4种,使用if即可 如果可能很多就推荐使用switch
switch语句也是多分支语句,相比if…else if…else语句,
switch语句可以使代码更加清晰简洁、便于阅读,其语法格式如下。
/*
switch ( 表达式 ) {
case 值1:
代码段1;
break;
case 值2
代码段2;
break;
...
default:
代码段n;
}
*/
使用switch语句判断变量week的值,若week变量的值为1~6时输出“星期一”~“星期六”,
为0时输出“星期日”,若没有与week变量的值相等的case值时输出“错误”。
var week = 2;
switch (week){
case 1:
alert("周1");
break;
case 2:
alert("周2");
break;
case 3:
alert("周3");
break;
case 4:
alert("周4");
break;
case 5:
alert("周5");
break;
case 6:
alert("周6");
break;
case 0:
alert("周日");
break;
default:
alert("没有这个日期");
break;
}
注意事项1:break的重要性
如果case中没有break,那么进入case之后,将不会跳出,而是会直接进入后续的case,并且是无条件进入,直到被break或执行完毕
注意事项2:如果存在多个case有相同的结果,怎么节省代码量。
var week = 2;
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
alert("工作日");
break;
case 6:
case 0:
alert("节假日");
break;
default:
alert("没有这个日期");
break;
}
for (var i = 1; i <= 100; i++) {
console.log(i); 输出1、2、3、4、5、6……100
}
var i = 1;
while (i <= 100) {
console.log(i);
i++;
}
var i = 1;
do {
console.log(i);
i++;
} while (i <= 100)
常用的跳转语句如下。
continue : 跳过本次循环,执行下一次
break: 直接跳出循环.
习题: 输出1-100 如果是3的倍数就不输出.如果输出了61就停止输出
for(var i = 1; i<=100;i++){
if(i%3==0){
continue;
}
if (i==61) {
break;
}
console.log(i);
}