javaScript中的分支语句

表达式和语句

区别:表达可以求值,因此写在赋值语句的右侧。但语句不一定有值,比如alert() for和
break等语句就不能被用于赋值。

分支语句

三大流程控制语句:

  • 顺序结构:从上往下执行
  • 分支结构:需要根据条件选择执行代码
  • 循环结构:某段代码被重复执行

分支语句可以让我们有选择性的之心发想要的代码

分支语句包括:

if分支语句,三元运算符,switch语句

if分支语句

分为三种使用:单分支,双分支,多分枝
单分支

if(条件){
	满足条件执行的代码
}

小知识点

  • 括号内的田间为true时,进入大括号里执行代码
  • 小括号内的结果若不是boolean值,会发生隐形转换为boolean值
  • 除了0,所有数字都为真
  • 除了null,所有的字符串都为真
  • 如果大括号中只有一条语句,则大括号可以省略,但是不提倡

双分支

if(条件){
	满足条件执行的代码
}else{
	不满足条件执行的代码
}

案例:用户输入年份,分析用户输入的年份是闰年还是平年
逻辑思路:年份能被4整除并且不能被100整除,或者能被400整除的年份是闰年
其他的则为平年
代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <script>
      let year = +prompt("请输入年份");
      if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
        document.write(`${year}年是闰年`);
      } else {
        document.write(`${year}年是平年`);
      }
    </script>
  </body>
</html>

多分支
主要用于有多个结果的情况

if(条件1){
	满足条件执行的代码1
}else if(条件2){
	满足条件执行的代码2
}else if(条件3){
	满足条件执行的代码3
}else{
	满足条件执行的代码n
}

释义:

  • 先判断条件1,若满足条件1就执行代码1,其他的不执行
  • 若不满足条件1则向下判断条件2,若满足条件2则就执行代码2,若不满足,则继续执行,以此类推(可以写多个条件,这里只显示了2个)
  • 若以上代码都不满足,则执行else里的代码n

案例根据输入不同的成绩,显示不同的评价
1.成绩90以上,优秀
2.成绩70-90,良好
3.成绩60-70,及格
4.成绩60分以下,不及格
代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <script>
      let score = +prompt("请输入你的成绩");
      if (score >= 90) {
        document.write("优秀");
      } else if (score >= 70) {
        document.write("良好");
      } else if (score >= 60) {
        document.write("及格");
      } else {
        document.write("不及格");
      }
    </script>
  </body>
</html>

三元运算符

比if上分支更简单的写法,主要是用于取值
符号:?与:配合使用
语法:

条件?满足条件执行的代码:不满足条件执行的代码

例如:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <script>
      let score = 3>5?3:5;
      /*
      代码释义:
	      3是不是大于5
	      如果大于5,则输出3
	      如果小于5,则输出5
      */
    </script>
  </body>
</html>

案例:数字补零
用户输入一个数,如果小于10,则前面补0,比如09,03
代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <script>
     let num = prompt("请输入一个数字")
      num=num < 10 ? 0 + num : num
      document.write(num)
    </script>
  </body>
</html>

switch语句

switch(数据){
	case1:
		代码1
	break
	case2:
		代码2
	break1:
	default: 
		代码n
	break
}

释义

  • 找到很小括号里的数据全等的case值,并执行里面对应的代码
  • 若没有全等 === 的则执行default里的代码
    案例:计算器
    需求:用户输入2个数字,然后输入+ - * /任何一个,可以计算出结果
    分析:用户需要输入数字
    用户输入不同的算术运算符,可以执行不同的运算(switch)
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style></style>
  </head>
  <body>
    <script>
      //用户输入
      let num1 = +prompt('请输入第一个数字');
      let num2 = +prompt('请输入第二个数字');
      let fuhao = prompt('请输入+ - * / 其中的一个');
      //根据用户输入,判断输出
      let total;
      switch (fuhao) {
        case "+":
          total = num1 + num2;
          document.write(`两个数字相加的操作:${num1}+${num2}=${total}`);
          break;
        case "-":
          total = num1 - num2;
          document.write(`两个数字相减的操作:${num1}-${num2}=${total}`);
          break;
        case "*":
          total = num1 * num2;
          document.write(`两个数字相乘的操作:${num1}*${num2}=${total}`);
          break;
        case "/":
          total = num1 / num2;
          document.write(`两个数字相除的操作:${num1}/${num2}=${total}`);
          break;
          default:
            document.write('请输入+ / * - 其中一个')
      }
    </script>
  </body>
</html>

注意

  • switch case语句一般用于等值判断,不适合于区间判断
  • switch case一般需要配合break关键字使用,没有break会造成case穿透
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值