JS从零开始(5)

161 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情

流程控制(续)

  • 顺序结构
  • 分支(选择)结构:if 语句、switch 语句
  • 循环结构:while 语句、for 语句

分支结构

if语句

三种形式:

//第一种
if (条件表达式) {
    // 执行语句
}

//第二种
if (条件表达式) {
    // 执行语句1
} else {
    // 执行语句2
}
//第三种(多分支)
if (条件表达式1) {
    // 条件1为真时执行语句
} else if (条件表达式2) {
    // 条件1不满足,条件2满足时
} else if (条件表达式3) {
    // 条件1、2不满足,条件3满足时
} else {
    // 以上条件都不满足
}
if语句的嵌套

原理:如果if语句中还有if语句,就构成了“嵌套if语句”,在开发中,嵌套的使用非常多,但嵌套层数一般有2、3层就足够了,多了也反而不容易看懂,而且运行效率不是很高。

举个栗子:

使用BMI公式计算人的体重并给出其体重范围👇

var height = parseFloat(prompt('请输入身高:'));
var weight = parseFloat(prompt('请输入体重:'));
var BMI = weight / Math.pow(height, 2);
if (BMI < 18.5) {
    alert('偏瘦');
} else if (BMI < 25) {
    alert('正常');
} else if (BMI < 28) {
    alert('过重');
} else if (BMI <= 32) {
    alert('肥胖');
} else {
    alert('非常肥胖');
}
switch语句

流程图:

image.png

执行流程:

  • 首先计算switch表达式的值,然后将值与各个case进行比较,一旦匹配到相应的值,就会执行相应的语句,在执行的过程中,遇到 break 程序结束。
  • 如果表达式的值和所有的case都匹配不上,那么就会就会执行 default 语句。

ps:default语句不一定非要放在整个swith语句最后,而是放在任何地方都行,不影响程序执行结果,放在后面是为了好看。

switch语句结束条件
  1. 执行到break

  2. 执行到程序末尾

举个栗子:

var str = 'pink';

switch (str) {
    case 'pink':
        console.log('粉色');
        break;
    case 'blue':
        console.log('蓝色');
        break;
    case 'red':
        console.log('红色');
        break;
    default:
        console.log('没有颜色');
        break;
}