JS条件语句

  • A+
所属分类:Web前端
摘要

语法:  if (条件){  满足条要执行的语句块}  执行流程:  1、判断条件
  2、如果条件为真,则执行 语句块 中的内容
  3、如果条件为假,则跳过语句块去执行其他内容


1.if 结构

语法:

  if (条件){

  满足条要执行的语句块

}

  执行流程:

  1、判断条件
  2、如果条件为真,则执行 语句块 中的内容
  3、如果条件为假,则跳过语句块去执行其他内容

  注意:

  (1)if中的条件,最好是一个boolean的值,如果不是boolean类型,则会自动转换以下情况,条件会自动转换为 false
       if(0)
       if(0.0)
       if(undefined)
       if(null)
       if("")
       if(NaN)

  (2)if 后的 { } 是可以被省略的,如果省略的话,只控制 if 下的第一条语句

2.if … else … 结构

语法:

  if(条件){

    满足条件时,执行的语句块

  }else{

    不满足条件时,执行的语句块

  }

练习:

  从弹框中,输入一个年份信息,判断该年是否为闰年,并给出提示

function showYear(){     var year = window.prompt("请输入一个年份:");     if ((year % 4 == 0)&&(year % 100 != 0 )||(year % 400 == 0 )){  //判断是否为闰年的条件     console.log(year+"年是闰年");     }else{         console.log(year+"年不是闰年")     }  }

3.if … else if… 结构

语法:

  if(条件1){

    满足条件1时,要执行的语句块

  }else if(条件2){

    满足条件2时,要执行的语句块

  }else if(条件3){

    满足条件3时,要执行的语句块

  }else{

    以上条件都不满足时执行的语句块

  }

练习:从弹框中录入考试成绩,如果成绩>=90,输出A;如果成绩>=80,输出B;如果成绩>=60,输出C;其他情况输出D

function showScore(){     var score = window.prompt("请输入你的成绩:");     //成绩 >=90,为A     //成绩 >=80,为B     //成绩 >=60,为C     //成绩其他情况为D     if (score >= 90){         console.log("你的成绩等级为A");     }else if(score >= 80){         console.log("你的成绩等级为B");     }else if(score >= 60){         console.log("你的成绩等级为C");     }else{         console.log("你的成绩等级为D");     } }

4.switch … case结构

语法:

  switch(变量){
    case 常量值1:
      语句块1;
      break;  //通过 break 结束switch的执行(可选 )
    case 常量值2:
      语句块2;
      break;  //可选
    default:
      语句块n;
      break;  //可选
  }

练习:

(1)使用 特殊的 switch 结构完成要求:输入年 、月,输出 该月有多少天

function testSwitch(){     var year = prompt("请输入年份");     var month = Number(prompt("请输入月份"));     switch(month){         case 1 :         case 3 :         case 5 :         case 7 :         case 8 :         case 10 :         case 12 :             console.log(year+"年"+month+"月有31天");             break;         case 4 :         case 6 :         case 9 :         case 11 :             console.log(year+"年"+month+"月有30天");             break;         case 2 :             if((year%4==0)&&(year%100!=0)||(year%400==0)){                 console.log(year+"年"+month+"月有29天")             }else{                 console.log(year+"年"+month+"月有28天")             }             break;         default :             console.log("您输入有误");     } }

(2)使用switch…case语句编写程序,要求当输入年月日后计算出这一天是该年的第几天

function Days(){             var year = Number(prompt("请输入年份:"));             var month = Number(prompt("请输入月份:"));             var day = Number(prompt("请输入日期:"));             var totalDay = 0;             switch(month-1){                 case 11 :                     totalDay += 30;                 case 10 :                     totalDay += 31;                 case 9 :                     totalDay += 30;                 case 8 :                     totalDay += 31;                 case 7 :                     totalDay += 31;                 case 6 :                     totalDay += 30;                 case 5 :                     totalDay += 31;                 case 4 :                     totalDay += 30;                 case 3 :                     totalDay += 31;                 case 2 :                     if((year%4==0)&&(year%400!=0)||(year%400==0)){                         totalDay +=29;                     }else{                         totalDay +=28;                     }                 case 1 :                     totalDay += 31;             }             totalDay +=day;             console.log(year+"年"+month+"月"+day+"日是第"+totalDay+"天");         }