zoukankan      html  css  js  c++  java
  • JavaScript-----6.流程控制:分支

    1.流程控制

    就是来控制代码按照何种顺序来执行,流程控制有三种结构:顺序结构、分支结构、循环结构

    2.顺序流程控制

    程序按照代码先后顺序依次执行

    3.分支流程控制

    JS中提供两种分支结构语句:if语句、switch语句

    3.1 if语句

    if语法结构:

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

    案例:进入网吧
    弹出一个输入框,要求用户输入年龄,如果年龄大于等于18则运行进入网吧

    var age = prompt('请输入年龄');
    if (age >= 18) {
    	alert('允许进入网吧');
    }
    

    3.2 if else双分支语句

    语法结构:

    if (条件表达式) {
    	//语句1
    } else {
    	//语句2
    }
    

    注意: else后面直接跟大括号{},不跟小括号()
    案例:

    var age = prompt('请输入年龄');
    if (age >= 18) {
    	alert('允许进入网吧');
    } else {
    	alert('禁止未成年进入网吧');
    }
    

    案例: 判断闰年
    接收用户输入的年份,如果是闰年就弹出闰年,否则弹出平年.
    算法:可以被4整除且不能被100整除的为闰年或者说能够被400整除的是闰年

    var year = prompt('请输入年份');
    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    	alert('是闰年');
    } else {
    	alert('不是闰年');
    

    案例:判断是否中奖
    接收用户输入的姓名来判断是否中奖,如果输入的是刘德华则提示中了5块,否则提示没中奖

    var user_name = prompt('请输入用户名');
    if (user_name == '刘德华') {
    	alert('嘻嘻,中了5块钱');
    } else {
    	alert('呜呜,没中奖');
    }
    

    3.3 if else多分支语句

    if (条件表达式1) {
    	//语句1
    } else if (条件表达式2) {
    	//语句2
    } else if (条件表达式3) {
    	//语句3
    } else {
    	//语句4
    }
    

    案例:判断成绩级别

    var score = prompt('输入用户成绩');
    score = parseFloat(score);
    if (score >= 90) {
    	alert('A');
    } else if (score >= 80) {
    	alert('B');
    } else if (score >= 70) {
    	alert('C');
    } else if (score >= 60) {
    	alert('D');
    } else {
    	alert('E');
    }
    

    3.4 三元表达式

    由三元运算符组成的式子,我们称为三元表达式。语法如下:

    //条件表达式 ?表达式1 :表达式2
    

    说明:若条件表达式为真则返回表达式1的值,否则返回表达式2的值。

    //条件表达式 ?表达式1 :表达式2
    var num = 10;
    var result = num > 5 ? '是的' : '不是的';
    console.log(result);
    

    案例:数字补零
    要求:用户输入数字,如果数字小于10,则在前面补0,比如:01,09,如果数字大于10则不需要补0,如20。

    var num = prompt('请输入数字');
    var result = num > 10 ? num : 0 + num;
    console.log(result);
    

    3.5 switch语句

    switch也是多分支语句,语法结构如下:

    switch (表达式) {
        case value1:
            执行语句1;
            break;
        case value2:
            执行语句2;
            break;
        case value3:
            执行语句3;
            break;
        default:
            执行最后的语句;
    }
    

    说明:

    • default里面的语句是在没有value值与switch里的表达式相匹配的时候才执行的。
    • switch里面的值和case里面的值必须全等===的时候才算匹配成功。
    • 如果当前的case里面没有break则不会推出switch,而是无论是否匹配,继续执行下一个case,直达遇到下一个break。

    案例:用户在弹出的输入框里面输入一个水果,如果有则弹出该水果的价格,如果没有就弹出没有此水果。

    3.5 switch语句和if else if语句的区别

    • 当分支较少时,if...else语句的执行效率比switch语句高
    • 当分支较多时,switch语句的执行效率比较高,而且结构更清晰
      作业1:判断时间段,比如用户输入12点弹出中午好,用户输入18点弹出傍晚好,用户输入23点弹出深夜好。
    var time = prompt('请用户输入时间');
    if (time <= 4) {
        alert('清晨');
    } else if (time <= 8) {
        alert('早上');
    } else if (time <= 10) {
        alert('上午');
    } else if (time <= 13) {
        alert('中午');
    } else if (time <= 16) {
        alert('下午');
    } else if (time <= 18) {
        alert('傍晚');
    } else {
        alert('晚上');
    }
    

    作业2:比较两个数的最大值(用户依次输入两个值,最后弹出最大的那个值)

    var num1 = prompt('请输入第一个数字');
    var num2 = prompt('请输入第二个数字');
    var result = num1 > num2 ? alert('较大的数是' + num1) : alert('较大的数是' + num2);
    console.log(typeof num1);
    

    作业3:用户输入一个数,来判断是奇数还是偶数。

    var num = prompt('请输入数字');
    
    if (num % 2 == 0) {
        alert(num + '是偶数');
    } else {
        alert(num + '是奇数');
    }
    

    作业4:根据用户输入的数值(数字1~数字7),返回星期几

    var day = prompt('请输入1~7之间的一个数字');
    switch (day) {
        case '1':
            alert('星期1');
            break;
        case '2':
            alert('星期2');
            break;
        case '3':
            alert('星期3');
            break;
        case '4':
            alert('星期4');
            break;
        case '5':
            alert('星期5');
            break;
        case '6':
            alert('星期6');
            break;
        case '7':
            alert('星期天');
            break;
        default:
            alert('数字超出范围');
    }
    

    作业5:接收班长口袋里的钱数,若大于等于2000则请大家吃西餐。若小于2000,大于等于1500,请大家吃快餐。若小于1500,大于等于1000,请大家喝饮料。若小于1000,大于等于500,请大家吃棒棒糖。否则提醒班长下次把钱带够。

    var money = prompt('班长口袋里的金额');
    if (money >= 2000) {
        alert('班长请大家吃西餐');
    } else if (money >= 1500) {
        alert('班长请大家吃快餐');
    } else if (money >= 1000) {
        alert('班长请大家喝饮料');
    } else if (money >= 500) {
        alert('班长请大家吃棒棒糖');
    } else {
        alert('班长记得下次把钱带够');
    }
    
  • 相关阅读:
    MongoDB compass 连接不上远程服务器的解决方法
    art-template 模版引擎
    mongodb数据库的集合关联
    捕获mongoogse 错误信息
    inux下使用自带mail发送邮件告警
    rinted端口转发工具
    windows安装PHP IIS MYSQL
    sql语句查询知识点
    maven加速镜像
    docker启动容器关于防火墙报错
  • 原文地址:https://www.cnblogs.com/deer-cen/p/11991559.html
Copyright © 2011-2022 走看看