1 流程控制

                                                JavaScript之流程控制_输入框


2 顺序流程空制

顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照(代码的先后顺序,依次执行)程序中大多数的代码都是这样执行的。



3 分支流程控制 if语句

3.1 分支结构

                                                JavaScript之流程控制_整除_02

3.2 if语句
3.2.1 语法结构
// 条件成立执行代码,否则什么也不做
if(条件表达式){
//条件成立执行的代码语句
}

语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程席由很多个语句组成,一般情况下,会分成一个一个的语句。

3.2.2 执行流程

案例弹出一个输入框,要求用户输入年龄,如果年龄大于等于18岁,允许进网吧

案例分析:

  1. 弹出 prompt输入框,用户输入年龄,程序把这个值取过来保存到变量中
  2. 使用if 语句来判断年龄,如果年龄大于18就执行if 大括号里面的输出语句
3.3 if.....else语句(双分支语句)
3.3.1 语法结构
//条件成立 执行if 里面代码,否则执行else里面的代码
if(条件表达式)[
//[如果] 条件成立执行的代码
l else {
//[否则] 执行的代码
    }
3.3.2 执行流程

                                                JavaScript之流程控制_流程控制_03

案例2:判断闰年

接收用户输入的年份,如果式闰年就弹出闰年,否则弹出是平年。

案例分析:

  1. 算法:能被整除且不能整除100的为国年(如2004年就是年,1901年不是年)或者能够被 400整除的就是闺年
  2. 弹出prompt输入框,让用户输入年份,把这个值取过来保存到变量中
  3. 使用if 语句来判断是否是年,如果是年,就执行f大括号里面的输出语句,否则就执行else 里面的输出语句
  4. 一定要注意里面的且&&还有或者的写法,同时注意判断整除的方法是取余为0
var year = prompt('请输入年份:');
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            alert('您输入的年份是闰年');
        } else {
            alert('您输入的年份是平年');
        }
3.4 if else if 语句(多分支语句)
3.4.1 语法结构
//适合于检查多重条件
if(条件表达式1){
语句1;
}else if (条件表达式2) [
语句2;
} else if (条件表达式3) {语句3;公
..
} else (
//上述条件都不成立执行此处代码
    }
3.4.2 执行流程

                                                JavaScript之流程控制_流程控制_04

案例:判断学生成绩级别

要求:接收用户输入的分数,根据分数输出对应的等级字母A、B、C、D、E。 其中: 1.90分(含)以上,输出:A 2.80分(含)~ 90分(不含),输出: B 3.70分(含)~ 80分(不含),输出 :C 4.60分(含)~ 70分(不含),输出 : D 5.60分(不含)以下,输出:E

案例分析:

  • 按照从大到小判断的思路
  • 弹出prompt输入框,让用户输入分数,把这个值取过来保存到变量中
  • 使用多分支if else if 语来分别判断输出不同的值

4 三元表达式

三元表达式也能做一些简单的条件选择,有三元运算符发的式子称为三元表达式。

案例: 数字补0

用户输入数字,如果数字小于10,则在前面补0,比如001,09,如果数字大于10,则不需要补,比如20.

案例分析:

  • 用户输入0~59之间的一个数字
  • 如果数字小于10,则在这个数字前面补0,( 加0)否则 不做操作
  • 一个变量接受这个返回值,输出

5 分支流程控制 switch语句

switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。

5.1 语法结构
switch( 表达式 ){
case value1:
//表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式等于 value2 时要执行的代码
break;
default:
//表达式不等于任何一个 value 时要执行的代码
}

案例:查询水果

案例分析:

  • 弹出 prompt输入框,让用户输入水果名称,把这个值取过来保存到变量中
  • 将这个变量作为switch括号里面的表达式。
  • case 后面的值写几个不同的水果名称,注意一定要加号,因为必须是全等匹配
  • 弹出不同价格即可。同样注意每个case 之后加上 break,以便退出switch 语句。
  • 将default设置为没有此水果。
var fruit = prompt('请输入需要查询的水果');
        switch (fruit) {
            case '苹果':
                alert('苹果的价格为3.5元/斤');
                break;

            case '榴莲':
                alert('榴莲的价格为35元/斤');
                break;

            case '梨':
                alert('梨的价格为15元/斤');
                break;

            case '葡萄':
                alert('葡萄的价格为25元/斤');
                break;

            default:
                alert('这里没有你需要查询水果的价格');
        }
5.2 switch 语句和 if else if 语句的区别
  1. 一般情况下,它们两个语句可以相互替换
  2. switch...ase 语句通常处理case为比较确定值的情况,而if...else...语句更加灵活,用于范围判断(大于 等某个范围)
  3. switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if..else语有几种条件,就得判断多少次。
  4. 当分支比较少时,if...else语句的执行效率比switch语句高
  5. 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰