顺序结构=> 程序按照代码书写的顺序依次执行 (事件循环、变量提升)
选择结构 if (if else if elseif else) switch
=> if选择结构
条件判断:当条件表达式的布尔类型为true 执行代码块
=> if else 选择结构
条件判断:当条件表达式的布尔类型为true 执行if后面的代码块1 否则执行else后面的代码块2
=> if elseif else 选择结构
多条件判断: if else if 的结合
=> switch选择结构
多条件判断: switch(表达式) case 值 的结合
执行规则:表达式的值 与 case值 严格比较 比较结果为true 则执行 指定case的代码块
如果为false 则进行下一项比较,以上条件都不存在则执行 default代码块
循环结构
1.if选择结构
const weather = '晴天';
//条件判断:当条件表达式的布尔类型为true 执行代码块
if (weather == '晴天') {
console.log('出去外面玩');
}
2.if...else选择结构
const score = 50;
if (score >= 60) {
console.log('及格了');
} else {
console.log('不及格');
}
3.if...elseif....else选择结构
//多条件判断: if else if 的结合
if (state == 0) {
console.log('已完成');
} else if (state == 1) {
console.log('未完成');
} else if (state == 2) {
console.log('已取消');
} else {
console.log('未知状态');
}
总结: 一个条件 一个结果使用 if
一个条件 两个结果 使用 if else
多个条件 多个结果 使用 if elseif else
2.swtich选择结构
const s = 2;
switch (s) {
//通过case 定义条
case 0:
//case代码块
console.log('订单已完成');
break;
case 1:
//case代码块
console.log('订单未完成');
break;
default:
//default代码块
console.log('未知状态');
break;
}
switch break的作用:阻断代码执行
取消break后 代码不会被阻断 将执行到下一个break;
// 星期一 ~ 星期五 学习
// 星期六 出去玩
// 星期日 在家打游戏
const inputVal = window.prompt('请输入今天星期几?');
switch (inputVal) {
case '星期一':
case '星期二':
case '星期三':
case '星期四':
case '星期五':
console.log('学习');
break;
case '星期六':
console.log('出去玩');
break;
case '星期日':
console.log('在家打游戏');
break;
default:
console.log('你来自火星吧');
break;
}
3.卫语句 (通过反向条件阻止代码执行)
function playGame(age, sex, height) {
// age=16 16>=18? false !取反 => true
// age=20 20>=18? true !取反 => false
if (!(age >= 18)) {
//反向条件拦截
alert('未成年人禁止进入');
return; // return后面的语句不再执行
}
if (!(sex == '男')) {
alert('女生禁止进入');
return;
}
if (!(height > 180)) {
alert('身高不够');
return;
}
//正向条件的结果 放在最后执行
console.log('正在激烈战斗!');
playGame(16, '男', 180);