本篇介绍了js中的4种分支结构:if、if else、else if、switch case,用来判断在不同的条件下运行不同的代码分支。
阅读时间10~15分钟。
js中分支结构总共有4种:
if if else else if switch case
if 用来判断某个条件是否成立,如果成立则执行条件块里的代码。
语法结构:
if (condition) { 当条件为 true 时执行的代码 }
示例1,输入一个绩效分数,判断是否大于90,如果大于等于90,那么输出:考核等级S。
let score = parseInt(window.prompt("请输入绩效分数:")); if (score >= 90) { console.log("考核等级S"); }
上面 if 只是当条件成立的时候执行对应的代码块,如果不成立也需要执行代码块,那就可以用 else 了。
语法结构:
if (condition) { 当条件为 true 时执行的代码 } else { 当条件为 false 时执行的代码 }
示例1,输入一个绩效分数,如果大于等于60,那么输出考核通过,否则输出:考核较差,需要再观察或者劝退。
let score = parseInt(window.prompt("请输入绩效分数:")); if (score >= 60) { console.log("考核通过"); } else { console.log("考核较差,需要再观察或者劝退。"); }
if 只能判断一个分支条件,如果需要判断多分支结构可以用 else if。
语法结构:
if (condition1) { 当条件 condition1 为 true 时执行的代码 } else if (condition2) { 当条件 condition2 为 true 时执行的代码 } else if (condition3) { 当条件 condition3 为 true 时执行的代码 } ... else { 上面条件都不满足时执行的代码 }
其中:
上面任何一个分支执行后,就不会再执行其他分支的内容了
示例1, 输入一个绩效分数,根据如下规则输出S、A、B、C、D
90~100:输出考核等级S,奖励3倍工资 80~89:输出考核等级A,奖励2倍工资 70~79:输出考核等级B,奖励1倍工资 60~69:输出考核等级C,不奖励,需要继续努力 0~59:输出考核等级D,考核较差,需要再观察或者劝退。
let score = parseInt(window.prompt("请输入绩效分数:")); if (score >= 90 && score <= 100){ console.log("考核等级S,奖励3倍工资"); } else if (score >= 80 && score < 90) { console.log("考核等级A,奖励2倍工资"); } else if (score >= 70 && score < 80) { console.log("考核等级B,奖励1倍工资"); } else if (score >= 60 && score < 70) { console.log("不奖励,需要继续努力"); } else if (score >= 0 && score < 60) { console.log("考核较差,需要再观察或者劝退。"); } else { console.log("不正确的分数"); }
语法结构:
switch(expression) { case 变量1: // 语句1代码块 case 变量2: // 语句2代码块 case 变量3: // 语句3代码块 break; ... default: // 条件都不满足,执行代码块 }
示例1,用switch case实现判断周几是否上课:
周一:上课 周二:上课 周三:不上课 周四:上课 周五:上课 周六:不上课 周天:不上课
先询问用户今天是星期几,接受用户的答案后,判断输出今天是否上课。
let day = window.prompt("请输入星期几:"); switch (day) { case "周一": console.log("上课"); break; case "周二": console.log("上课"); break; case "周三": console.log("不上课"); break; case "周四": console.log("上课"); break; case "周五": console.log("上课"); break; case "周六": console.log("不上课"); break; case "周天": console.log("不上课"); break; default : console.log("请输入正确的值"); break; }