流程控制
到目前为止:代码一定是从上往下逐行执行,从左往右(赋值除外)
所有编程语言都有一样都控制:流程控制
流程控制分三种结构:
1. 顺序结构:代码从上往下执行,从左往右执行(赋值)
2. 分支结构:设定好代码以及条件,根据条件选择要执行的代码执行
分支的方式有很多种
2.1 If分支
2.1.1 If单分支
2.1.2 If双分支
2.1.3 If多分支
...
3. 循环结构:根据设定的条件,让某段代码重复执行指定的次数
分支结构
为什么要有分支结构?
-
现实世界中,我们在做某些事情的时候是有前提条件的,例如:我今天考试了,考的好与坏与回家的状态不一样的
- 考的好:回家有赏
- 靠的不好:回家有伤
1.1 if单分支结构
- 单分支:用来解决意外的,表示代码可能会执行,也可能不执行
- if结构语法:
if(条件 true/false){ 条件成立时需要执行的代码 }
if(1>0){
console.log ( "我被执行了" );
}
//注意点:小括号中的条件可以是哪些呢
/*
(1) [通常]关系表达式:结果一定是布尔类型
(2) 布尔类型的值:true和false
(3) 其他表达式和值:都先转换成布尔类型再判断真会和假
*/
let num = 10;
if(num){
//num是10,转换成布尔类型是true,所以会执行大括号代码
alert('num满足了条件');
}
1.2 if-else双分支结构
双分支:一定要执行代码,根据条件选择不同的代码
if(条件){
条件成立时需要执行的代码
}else{
条件不成立时需要执行的代码
}
双分支:互斥分支
let score = 80;
if(score >= 60){//及格
console.log ( "爸爸给我买了一辆gtr" );
}else{//不及格
console.log ( "爸爸打了我一顿" );
}
1.3 if-else if-else多分支结构
多分支:条件是很多层次,一次判定不完:解决细分条件问题
结构语法:
if(条件1){
// 条件1为真要执行的代码
} else if(条件2) {
// 条件1为假,条件2为真要执行的代码
}... 不限else if的数量
else{
// 前面所有条件都不满足要执行的代码:不是非要有else
}
示例:
let score = 50;
if(score >= 80){
console.log ( "爸爸给我买了一辆法拉利" );
}else if(score >= 70){ //隐藏条件: score < 80
console.log ( "爸爸给我买了一辆保时捷" );
}else if(score >= 60){ //隐藏条件: socre < 70
console.log ( "爸爸给我买了一辆奥迪" );
}else{ //隐藏条件: score < 60
console.log ( "爸爸打了我一顿" );
}