JavaScript流程分类:
循环结构,就是根据某些给出的条件,重复的执行同一段代码 循环必须要有某些固定的内容组成。
1.顺序结构
代码自上而下依次执行 每行代码都会被执行
2.选择结构
根据条件的不同 会选择不同的代码执行路径
2.1 单分支
如果大括号中只有一条语句,此时可以省略大括号,但是不建议这样写。
语法:
if(条件表达式){ // true
// 代码块1
}
2.2 双分支 非A即B 关系
语法:
if(条件表达式){ // true
//代码块1
}else{ // false
//代码块2
}
2.3 多分支
语法:
if(条件1){
// 代码块1
}else if(条件2){
// 代码块2
}else if(条件3){
// 代码块3
} .......
else{ // 当以上条件都不满足时 执行 else中的代码
// 代码块n
}
// 等值判定
switch(变量){ // ===
case v1:
// 代码块
break;
case v2:
// 代码块
break;
case v3:
// 代码块
break;
case v4:
// 代码块
break;
default:
// 代码块 n
break;
}
注: 分支结构 只会选择其中的一条分支执行
3.循环结构 重复执行相同或相似的操作
1.for循环
循环开始时先执行初始化部分,而且初始化部分只执行一次
初始化执行完之后就去判断条件是否成立,如果成立则执行代码块,然后执行迭代部分
语法:
for(定义计数器;条件表达式;改变计数器的值){
// 循环体 (重复执行的逻辑代码)
}
// for循环执行流程
2.while
3.do...while
-->
<script type="text/javascript">
// var score = window.prompt("请输入分数") // string
// 判定成绩是否大于60分 单分支
// if(score>=60){
// console.log("恭喜你考试通过");
// }
// 判定成绩是否合格 不论成绩是否合格都要给用户提示
// if(score>=60){ // true
// console.log("恭喜你考试通过");
// }else{
// console.log("考试未通过,请再接再厉!");
// }
/*根据成绩 输出成绩的等级
优秀 >=90
良好 >=80
中等 >=70
及格 >=60
不及格 <60
*/
// if(score>=60&&score<70){
// console.log("及格");
// }else if(score>=70&&score<80){
// console.log("中等");
// }else if(score>=80&&score<90){
// console.log("良好");
// }else if(score>=90){
// console.log("优秀");
// }else{
// console.log("不及格");
// }
// 优化 提高程序的执行效率
// if (score >= 90) {
// console.log("优秀");
// } else if (score >= 80) {
// console.log("良好");
// } else if (score >= 70) {
// console.log("中等");
// } else if (score >= 60) {
// console.log("及格");
// } else {
// console.log("不及格");
// }
// 制定学习计划 等值判定 效率低
var day = window.prompt("请输入周几")
// if(day==1){
// console.log("html");
// }else if(day==2){
// console.log("css");
// }else if(day==3){
// console.log("js");
// }else if(day==4){
// console.log("vue");
// }else if(day==5){
// console.log("react");
// }else if(day==6){
// console.log("node");
// }else if(day==7){
// console.log("mysql");
// }else {
// console.log("请输入正确的天数");
// }
// day string
switch (day*1) { // ===
case 1:
console.log("html");
break; // 标识当前分支结束
case 2:
console.log("css");
break;
case 3:
console.log("js");
break;
case 4:
console.log("react");
break;
case 5:
console.log("vue");
break;
case 6:
case 7:
console.log("周末休息");
break;
default:
console.log("请输入正确的天数");
break;
}
console.log("程序执行结束!");
</script>
</body>
</html>
小结:
1、循环次数确定时一般使用for
2、循环次数不确定时一般使用while和do…while
3、对集合进行遍历时使用 for…in和for…of
4、switch 只能进行等值的判断,if没有限制适合某个连续区间的判断