第一章 入门

14.  if  条件判断语句

14.1  if else 语句

if(...) 语句计算括号里的条件表达式,如果计算结果是 true,就会执行对应的代码块。

let year = prompt('请输入年份');

if (year == 2015) alert( 'You are right!' );

if (…) 语句会计算圆括号内的表达式,并将计算结果转换为布尔型。

  • 数字 0、空字符串 ""nullundefined 和 NaN 都会被转换成 false。因为它们被称为“假值”。
  • 其他值被转换为 true,所以它们被称为“真值”。

if 语句有时会包含一个可选的 “else” 块。如果判断条件不成立,就会执行它内部的代码。 

let year = prompt('请输入年份');

if (year == 2015) {
  alert( 'You guessed it right!' );
} else {
  alert( 'How can you be so wrong?' ); // 2015 以外的任何值
}

     根据不同条件执行语句的关键技术是if...else...let

    // let age = prompt('请输入年龄')

    // //如果
    // if (age >= 13 && age <= 19) {
    //   document.write('

青少年

') // } else { // document.write('

人类

') // }

案例

1.判断闰年

    1.能被4整除但不能被100整除是闰年

    2.能被400整除是闰年

    3.其他全部是平年

    let year = prompt("请输入年份")
    // console.log(year % 4 == 0);//true 能
    // console.log(year % 100 != 0);//true 能
    // console.log(year % 400 == 0);//true 能

    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
      document.write('

闰年

') } else { document.write('

平年

') }

2.判断是不是数字

    let str = prompt('请输入')

    str *= 1 //隐式数据类型转换
    console.log(str);
    //if(str){       //0、NaN都是false 但θ是数字
    if (!isNaN(str)) {
      console.log("是数字");
    } else {
      console.log("不是数字")
    }
14.2  多个条件判断

有时我们需要测试一个数据的包含几个条件。我们可以通过使用 else if 子句实现。

1.根据年龄判断在哪个年龄群体 

    //年龄: 0-3婴幼儿  3-12小童  13-19青少年  19-100青壮年 100+ 老年人

    案例
    let age = prompt('请输入年龄')

    if (age >= 0 && age <= 3) {
      console.log('婴幼儿');
    } else if (age <= 12) {
      console.log('小童');
    } else if (age <= 19) {
      console.log('青少年');
    } else if (age <= 100) {
      console.log('青壮年');
    } else {
      console.log('老年人');
    }

2.根据成绩判断其学习水平

    /*0-60 不及格
    60-70 及格
    70-80 良
    80-90优秀
    90-100 及其优秀
    其他 不合法分数*/

    let score = prompt('请输入分数')

    if (score >= 0 && score < 60) {
      console.log("不及格");
    } else if (score >= 60 && score < 70) {
      console.log("及格");
    } else if (score >= 70 && score < 80) {
      console.log("良");
    } else if (score >= 80 && score < 90) {
      console.log("优秀");
    } else if (score >= 90 && score <= 100) {
      console.log("极其优秀");
    } else {
      console.log("不合法分数");
    }

15.  三元运算

这个运算符通过问号 ? 表示。有时它被称为三元运算符,被称为“三元”是因为该运算符中有三个操作数。实际上它是 JavaScript 中唯一一个有这么多操作数的运算符。

        // 元
        let a = 0
        a++ //一元运算
        let b = 100
        a + b //二元运算
        // 三元
        a > 0 ? console.log('A') : console.log("B");
        let age = prompt('请输入年龄')

        // console.log(age >= 18 ? "成年人" : "未成年");
        console.log(age >= 18 ? age >= 80 ? "老年人" : "成年人" : "未成年");//非常不推荐,太难读

16.  switch语句

16.1  语法
        let num = prompt('请输入一个0-6的数字')

        // 判断星期几
        switch (num * 1) {//隐式转换成number数字
            case 0:
                console.log('星期日');
                break;
            case 1:
                console.log('星期一');
                break;
            case 2:
                console.log('星期二');
                break;
            case 3:
                console.log('星期三');
                break;
            case 4:
                console.log('星期四');
                break;
            case 5:
                console.log('星期五');
                break;
            case 6:
                console.log('星期六');
                break;
            default:
                console.log('非法数字,请刷新重新输入');
                break;
        }
  • 比较 num 值与第一个 case是否严格相等,然后比较第二个 case以此类推。
  • 如果相等,switch 语句就执行相应 case 下的代码块,直到遇到最靠近的 break 语句(或者直到 switch 语句末尾)。
  • 如果没有符合的 case,则执行 default 代码块(如果 default 存在)。
16.2  break的作用

 在 switch 语句运行过程中,如果没有 break 语句。比较 num 值与第n个 case 严格相等之后,switch 语句就执行相应 case 下的代码块,直到 switch 语句结束,中间不会停止。

 

你可能感兴趣的:(javascript,开发语言,前端)