【前端从0开始】JavaSript——分支流程控制

流程控制

在任何一门程序设计语言中,都需要支持满足程序结构 化所需要的三种流程控制:
●顺序控制
●分支控制(条件控制)
●循环控制
顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行。

分支流程控制

●if语句
●switch语句

if语句【重要】

分类:单分支,双分支,多分支,分支嵌套

// 单分支
if (条件表达式){
   代码段
}
// 双分支
if (条件表达式) {
    代码段1 
}else {
   代码段2
}
// 多分支
if (条件表达式1){
    代码段1
} else if (条件表达式2){
   代码段2
} else if (条件表达式3){
   代码段3
}else{
    代码段4
}

()中可以是一个值,也可以是一个表达式

// 判断成绩是否及格
// 单分支
var score = 78;
if(score>=60 && score<=100){
  console.log('及格');
}

// 双分支
if(score>=60 && score<=100){
  console.log('及格');
}else{
  console.log('不及格');
}
// 双分支 改写 三元运算符
var res = score>=60&& score<=100?'及格':'不及格';
console.log(res);

// 多分支
var score = 59;
if(score>=60 && score<=100){
  console.log('及格');
}else if(score>=0 && score<=59){
  console.log('不及格');
}else{
  console.log('输入错误!');
}

// 分支嵌套
var score = 59;
if(score>=60 && score<=100){
  if(score>=85){
    console.log('优秀');
  }else if(score>=75){
    console.log('良好');
  }else{
    console.log('中等');
  }
}else if(score>=0 && score<=59){
  console.log('不及格');
}else{
  console.log('输入错误!');
}

Switch【掌握】

switch (变量){
  case1: 
	代码段;
       break;
  case2: 
	代码段;
       break;
  ...
  default: 
	代码段;
}

()只能是变量或值,不能是表达式

var d = new Date();
console.log(d); // 获取日期时间对象
var week = d.getDay(); // 获取星期几
switch (week) {
  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;
}

对比:什么时候用if,什么时候用switch

if:条件是一个范围 或者 是具体的值
switch:条件是一个具体的值
能够使用switch实现的判断,都可以使用if来实现
但是,能够使用if语句实现的判断,不一定能使用switch实现

案例:小游戏

<button id='btn1'>唱歌</button>
    <button id='btn2'>讲故事</button>
    <button id='btn3'>说英语</button>
</body>
<script>
    var btn = document.getElementsByTagName('button');
    for(var i=0;i<btn.length;i++){
        // console.log(btn[i]);
        btn[i].onclick = function(){
            // this 点击的是谁,获取的就是谁
            // console.log(this);
            // if(this.innerText=='唱歌'){
            //     console.log('两只老虎。。。。');
            // }else if(this.innerText=='说英语'){
            //     console.log('ABCDEFG。。。。');
            // }else if(this.innerText=='讲故事'){
            //     console.log('从前有个山。。。。');
            // }

            switch(this.innerText){
                case '唱歌':
                    console.log('两只老虎。。。。');
                    break;
                case '说英语':
                    console.log('ABCDEFG。。。。');
                    break;
                case '讲故事':
                    console.log('从前有个山。。。。');
                    break;
            }
        }
    }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值