顺序结构:`(默认)代码从上往下依次执行`
分支结构 `代码根据条件执行`
1.`if语句`
- if(条件 true/false){ 条件成立时需要执行的代码 }:
1.用于单个条件判断
2.条件代码的类型:
`(1)关系表达式: 结果一定是布尔类型`
`(2)布尔类型的值`
`(3)其他值: 会隐式转换成布尔类型来判断条件`
- if-else双分支: if(条件){ }else{ }
`1.语法是if(条件){
条件成立时需要执行的代码
}else{
条件不成立时需要执行的代码
}`
`2.注意:用于互斥的两个条件, if{}与else{}一定只会执行一个。不会都执行,也不会都不执行)
`
- .if-else if-else多分支: if(条件1){ }else if(条件2){ }else{ }
`1.用于多个条件判断`
`2.所有的{}最多只会执行一个,只有当上面条件不成立,才会进入下面条件判断`
`3.必须以if开头, 后面可以写多个else if,结尾else可以省略`
2.三元表达式 `表达式?代码1:代码2`
- 1.如果表达式成立则执行代码1,否则执行代码2
- 2.如果代码1或者代码2有运算结果则三元运算式的结果就是他们其中的一个
- 3.三元运算符做的事和if-else类似,只是代码更简洁
3switch-case:固定值匹配
- 1.表达式的结果要和值一定是全等的关系===
- 2.break作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透
- 穿透:从上一个case代码快执行到下一个case代码快
- break关键字的作用就是防止穿透
- 3.default语句可以写在任何地方,也可以省略,但是一般写在最后,这是一种代码规范
例如:
```js
<script>
/**合理穿透:当存在多种值需要执行相同代码时使用穿透可以节省代码
* 用户输入某一个月份,告诉用户这个月份属于什么季节
* 12,1,2 冬季
* 3,4,5 春季
* 6,7,8 夏季
* 9,10,11 秋季
*/
let month = +prompt("请输入月份");
switch (month){
case 12:
case 1:
case 2:
alert("冬季");
break;
case 3:
case 4:
case 5:
alert("春季");
break;
case 6:
case 7:
case 8:
alert("夏季");
break;
case 9:
case 10:
case 11:
alert("秋季");
break;
default:
alert("你来自火星吧?");
break;
}
</script>
```
循环结构:`代码重复执行`
1.循环结构的两种语法
`-while循环`
while循环语法
while( 条件 true/false ){
循环体:需要重复执行的代码
}
执行规则
1.判断条件是否成立
1.1 true : 则执行循环体代码
1.2 false : 循环结束,执行大括号后面的代码
2.重复步骤1
示例如下:
```js
//1.声明变量记录循环次数(循环变量)
let num = 1
//2.循环条件
while (num <= 10) {
console.log("我爱敲代码")
//3.循环变量自增
num++
}
```
`- for循环`
- for循环: 1.声明循环变量 2.循环条件 3.循环变量自增 写在( )中,代码更加简洁易读
- 语法: `
for(语句1;语句2;语句3){
循环体:需要重复执行的代码
}`
- 执行规则:
1. 执行语句1(声明循环变量)
2. 判断语句2结果是否成立(循环条件)
2.1 true : 执行循环体
* 2.1.1 执行语句3(循环变量自增)
2.2 false: 循环结束,执行大括号后面的代码
3. 重复步骤2
示例如下:
```js
for(let i = 1; i <= 3;i++){
console.log('我爱敲代码')
}
console.log('我还能继续学')
2.循环结构的应用场景
找出指定范围符合条件的数:
筛选功能
(1)遍历指定范围的数
(2)找出符合条件的数
求累加和 :
(1)声明变量存储结果
(2)遍历数量
(3)累加
求最大值/最小值
(1)声明变量存储结果
`求最大值 let max = -Infinity`
`求最小值 let max = Infinity`
(2)遍历数量
(3)依次比较大小
3.循环结构的关键字
continue : 结束本次循环体,立即进入下一次循环判断
` * continue关键字只能用于循环语句`
break: 结束整个循环语句,立即执行大括号后面的代码
` * break关键字可以用于 循环语句 + switch-case`