前端学习笔记

32-40JS中if语句

2019-05-03  本文已影响3人  饥人谷_island
    1.if第一种形式
    if(条件表达式){
        条件满足执行的语句;
    }

    2.if第一个形式的特点
    当条件表达式为真的时候就会执行{}中所有的代码, 并且只会执行一次
    */
    // let age = 19;
    let age = 17;
    if(age >= 18){
        console.log("开网卡");
    }
    console.log("卖饮料");

    1.if第二种形式
    if(条件表达式){
        条件成立执行的语句;
    }else{
        条件不成立执行的语句;
    }

    2.if第二种形式的特点
    当条件满足就执行if后面{}中的代码
    当条件不满足就执行else后面{}中的代码
    并且两个{}只有一个会被执行, 并且只会被执行一次
    */
    // let age = 19;
    let age = 17;
    if(age >= 18){
        console.log("开网卡");
    }else{
        console.log("回家叫家长");
    }
    console.log("卖饮料");

   1.if第三种形式
    if(条件表达式A){
        条件A满足执行的语句;
    }else if(条件表达式B){
        条件B满足执行的语句;
    }
    ... ...
    else{
        前面所有条件都不满足执行的语句;
    }

    2.if第三种形式的特点
    会从上至下的依次判断每一个条件表达式, 哪一个条件表达式满足, 就执行哪一个条件表达式后面{}中的代码
    如果前面所有的条件表达式都不满足, 就会执行else后面{}中的代码
    并且众多的大括号只有一个会被执行, 并且只会执行一次
    */
    let age = 4;
    if(age >= 18){
        console.log("上大学");
    }else if(age >= 12){
        console.log("上中学");
    }else if(age >= 6){
        console.log("上小学");
    }else{
        console.log("在家玩");
    }
    console.log("选择结构后面的代码");

    // 1.对于非布尔类型的数据, 会先转换成布尔类型再判断
    /*
    // if(null){
    if(1){
        console.log("语句A");
    }
    console.log("语句B");
    */

    // 2.对于==/===判断, 将常量写在前面
    /*
    let num = 10;
    // if(num = 5){
    if(5 == num){
        console.log("语句A");
    }
    console.log("语句B");
    */

    // 3.if/else if/else后面的大括号都可以省略, 但是省略之后只有紧随其后的语句受到控制
    /*
    if(false)
        console.log("语句A");
        console.log("语句B");
   */

    // 4.在JavaScript中分号(;)也是一条语句(空语句)
    /*
    if(false);
    {
        console.log("语句A");
        console.log("语句B");
    }
    */

    // 5.if选择结构可以嵌套使用
    /*
    if(true){
        if(false){
            console.log("语句A1");
        }else{
            console.log("语句B1");
        }
    }else{
        if(false){
            console.log("语句A2");
        }else{
            console.log("语句B2");
        }
    }
    */

    // 6.当if选择结构省略大括号时, else if/else会自动和距离最近没有被使用的if匹配
    if(0)
        if(1)
            console.log("A");
        else
            console.log("B");
    else
        if (1)
            console.log("C");
        else
            console.log("D");

练习1    
 /*需求: 接收用户输入的整数, 判断是否是偶数, 偶数输出YES, 奇数输出NO*/
   let num = prompt("请输入一个整数");
   // num % 2 === 0 ? alert("YES") : alert("NO");
   // num % 2 === 0 ? alert("YES") num = 666 : alert("NO") num = 123;
    if(num % 2 === 0){
        alert("YES");
        num = 666;
    }else{
        alert("NO");
        num = 123;
    }
    console.log(num);
    /*
    在企业开发中, 如果条件满足之后只有一句代码需要执行, 那么就使用三目运算符
    在企业开发中, 如果条件满足之后有多句代码需要执行, 那么就使用选择结构
    */

练习2
/*需求: 接收用户输入的整数, 判断是星期几之后输出*/
    // 注意点: prompt返回值是字符串类型
    let str = prompt("请输入一个1~7整数");
    // console.log(typeof day);
    let day = +str;
    if(1 === day){
        alert("星期1");
    }else if(2 === day){
        alert("星期2");
    }else if(3 === day){
        alert("星期3");
    }else if(4 === day){
        alert("星期4");
    }else if(5 === day){
        alert("星期5");
    }else if(6 === day){
        alert("星期6");
    }else if(7 === day){
        alert("星期7");
    }else{
        alert("回到火星去");
    }

    练习3
   /*需求: 接收用户输入的整数, 判断是什么季节之后输出
    * 3/4/5春季  6/7/8夏季  9/10/11秋季  12/1/2冬季
    * */
    let str = prompt("请输入一个1~12的整数");
    let month = +str;
    /*
    if(3 === month || 4 === month || 5 === month){
        alert("春季");
    }else if(6 === month || 7 === month || 8 === month){
        alert("夏季");
    }else if(9 === month || 10 === month || 11 === month){
        alert("秋季");
    }else if(12 === month || 1 === month || 2 === month){
        alert("冬季");
    }else{
        alert("回到火星去");
    }
    */

    if(month <= 0 || month > 12){
        alert("回到火星去");
    }else if(3 === month || 4 === month || 5 === month){
        alert("春季");
    }else if(6 === month || 7 === month || 8 === month){
        alert("夏季");
    }else if(9 === month || 10 === month || 11 === month){
        alert("秋季");
    }else{
        alert("冬季");
    }

练习4
 /*需求: 有3个变量a, b, c, 要求至少使用两种方法将升序排序后输出
    * 排序前: a = 5, b = 3, c = 4
    * 排序后: a = 3, b = 4, c = 5
    * */
    let a = 5, b = 3, c = 4, temp;
    console.log(a, b, c);
    // 1.利用a和b进行比较, 如果a>b, 就交换a和b中保存的数据
    if(a > b){
        temp = a;
        a = b;
        b = temp;
    }
    // 2.利用a和c进行比较, 如果a>c, 就交换a和c中保存的数据
    if(a > c){
        temp = a;
        a = c;
        c = temp;
    }
    // 3.利用b和c进行比较, 如果b>c, 就交换b和c中保存的数据
    if(b > c){
        temp = b;
        b = c;
        c = temp;
    }
    console.log(a, b, c);

练习5
/*需求: 有3个变量a, b, c, 要求至少使用两种方法将升序排序后输出
    * 排序前: a = 5, b = 3, c = 4
    * 排序后: a = 3, b = 4, c = 5
    * */
    let a = 5, b = 3, c = 4, temp;

    console.log(a, b, c);
    // 1.利用a和b比较, 如果a>b, 就交换a和b中保存的数据
    if(a > b){
        temp = a;
        a = b;
        b = temp;
    }
    // 1.利用b和c比较, 如果b>c, 就交换b和c中保存的数据
    if(b > c){
        temp = b;
        b = c;
        c = temp;
    }
    // 1.利用a和b比较, 如果a>b, 就交换a和b中保存的数据
    if(a > b){
        temp = a;
        a = b;
        b = temp;
    }
    console.log(a, b, c);
上一篇下一篇

猜你喜欢

热点阅读