26.js分支结构

本文介绍了程序的三大结构——顺序、分支和循环结构在JavaScript中的应用。详细讲解了if单分支、双分支、多分支及switch语句,并提到了三元运算符的使用,还提及了JavaScript中与用户交互的prompt函数。
摘要由CSDN通过智能技术生成

程序的三大结构

顺序结构、分支结构、顺序结构

下面图面在网上找的,如果由侵权,请联系

顺序结构
代码从上到下依次执行
在这里插入图片描述
分支结构
根据条件判断代码是否执行某个代码块
在这里插入图片描述
循环结构
根据某个条件来重复执行,减少代码量
在这里插入图片描述

分支循环:有if和switch两个
if由单分支、双分支和多分支

if单分支
在这里插入图片描述
语法:if(条件){ 代码块 }
如果条件为true,就执行花括号里面的代码块,
为false就不执行花括号里面的,继续执行下面的代码

var age = 20;
if(age>18){
	alert("你成年了");//条件成立就执行
}
console.log("hello");

if双分支
在这里插入图片描述
双分支if:
if(条件){ 代码块1 }
else{ 代码块2 }
如果条件为true,就执行代码块1,为false就执行代码块2

var age = 10;
if(age>18){
	alert("成年了")
}else{
	alert("孩子,你还小");//因为10小于18,所以执行这个代码块
}

多分支if:

在这里插入图片描述
语法a:

if(条件1){ 
	代码块1
}
else if(条件2){ 
	代码块2 
} 
else if(条件3){
	 代码块3
} 
...
/*
如果条件1为true,就会执行代码块1,
如果条件1为false,就会判断条件2是否为true,
为true就执行代码块2,为false就判断条件3,后面的依此类推

注:如果有多个{},只会执行一个,一旦其中一个为true,后面的就不会在判断了
*/

语法b:

if(条件1){ 
	代码块1
}
else if(条件2){ 
	代码块2 
} 
else if(条件3){
	 代码块3
} 
else{
	代码块4
}
/*
这个和上面的差不多,多了个else{},如果条件1,条件2和条件3都为false,
就会执行else{}里面的
*/

switch
switch 也是判断某一个是否满足
语法:

switch (n) {
	case 情况1:
		代码块1break;
	case 情况2:
		代码块2break;
	case 情况3:
		代码块3break;
	....
	default:
		 上述情况都不满足的时候执行的代码 
		break;
/*
工作原理:首先设置表达式 n(通常是一个变量)。 
		  随后表达式的值会与结构中的每个 case 的值做比较。 
		  如果存在匹配,则与该 case 关联的代码块会被执行。 
		  使用 break 来阻止代码自动地向下一个 case 运行。 
		  注:break关键字会导致代码执行流跳出switch语句。
*/
}
//输入1-7的数字,显示是星期几
var week=2;//表示
switch(week){
	case 1:
		alert("星期一");
		break;
	case 2:
		alert("星期二");
		break;
	case 3:
		alert("星期三");
		break;
	case 4:
		alert("星期四");
		break;
	case 5:
		alert("星期五");
		break;
	case 6:
		alert("星期六");
		break;
	case 7:
		alert("星期七");
		break;
	default:
		alert("输入错误,请重新输入一下");
		break;
}
//最后弹出的是星期二

//需要注意的

var num1=2;
switch(num1){
	case 1:
		alert("1");
	case:2
		alert("2");
	case:3:
		alert("3");
		break;
	case 4:
		alert(4);
		break;
	case 5:
		alert(5);
	case 6:
		alert(6);
		break;	
}
//这个switch弹出的是2和3
//break是 来阻止代码自动地向下一个 case 运行

if…else if…else 语句和switch case语句的比较

前者可以比较范围,后者比较的是定值
前者的效率没有后者效率快(前者需要一个一个去比较,后者只需和case比较一次就可以)

三元运算符
三元运算符由 ? : 两个符后组成
三元运算符是 if {} else{} 的简写
语法:条件?代码块1:代码块2
如果条件为true,就执行代码块1
为false,就执行代码块2

扩展:
prompt(str1,str2) 弹出可输入的对话框
str1: 提示要显示在消息对话框中的文本
str2:文本框中的内容
返回值: 1. 点击确定按钮,文本框中的内容将作为函数的返回值
2. 点击取消按钮,将返回null

/*
1、开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。
来观察测试者体重是否合适
*/

var height = parseInt(prompt('请输入您的身高'));
var tizhong = parseInt(prompt('您是多少斤'));
var weight = (height - 108) * 2;
var diff = tizhong - weight

if (diff <= 10 && diff >= -10) {
    alert("亲,您的身材刚刚好");
} else {
    alert("亲,您的体重不合适,需要锻炼哦")
}

//2、输入分数,判定成绩等级
var score = parseInt(prompt("请输入1~100之间的整数分数"));
if(score>=0 && score<=100){
	if (score <= 100 && score >= 90) {
        alert("亲,您的等级是 A");
      } else if (score < 90 && score >= 80) {
          alert("亲,您的等级是 B");
      } else if (score < 80 && score >= 70) {
          alert("亲,您的等级是 C");
      } else if (score < 70 && score >= 60) {
          alert("亲,您的等级是 D");
      } else{
          alert("菜鸡,你的等级是 E,还不努力学习");
      }
}else {
  alert("亲,您输入的有问题,请刷新页面,再输入一次");
}

// 3、输入年份,月份,显示当月的天数(注:闰年的2月是29天)
  var year = parseInt(prompt("请输入年份"));
  var month = parseInt(prompt("请输入月份"));
  // 能被400整除,或者能被4整除但不能被100整除的都是闰年
  if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
      alert(month + "月有31天");
  } else if (month == 4 || month == 6 || month == 9 || month == 11) {
      alert(month + "月有30天");
  } else if (month == 2) {
      if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
          alert(month + "月有29天");
      } else {
          alert(month + "月有28天");
      }
  }
//输入年月日,判断是一年的第多少天
var year = 2020;//年
var month = 3;//月
var date = 14;//日
var sum = 0;//求和
switch (month) {
    case 12:
        sum += 30;
    case 11:
        sum += 31;
    case 10:
        sum += 30;
    case 9:
        sum += 31;
    case 8:
        sum += 31;
    case 7:
        sum += 30;
    case 6:
        sum += 31;
    case 5:
        sum += 30;
    case 4:
        sum += 31;
    case 3:
        sum += 28;
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            sum += 1;
        }
    case 2:
        sum += 31;
    case 1:
        sum += date;
        break;
    default:
        alert("error");
        break;
}
alert(sum);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值