首页 > 网站 > WEB开发 > 正文

JavaScript基础(四) 之分支结构

2024-04-27 15:03:58
字体:
来源:转载
供稿:网友

分支结构-1

1、程序的流程 程序 = 数据结构 + 算法 任何复杂的算法都可以通过 "顺序","分支","循环" 三种结构来表示2、什么是分支结构 在不同的情况下,可以选择不同的语句来执行 当 条件 满足时,执行某些语句 - if结构 当 条件 满足时,执行某些语句 当条件 不满足时,执行另外一些语句 -if ... else 结构3、if结构 1、语法 if(条件){ //语句块(满足条件时要做的操作) } 条件:尽量放 boolean 的变量 或 表达式 判断条件 如果条件 为真的话,则执行语句块中的代码 如果条件 为假,则跳过语句块,执行其他语句 2、注意 1、条件如果不是boolean的话,则会自动转换,以下操作会自动将条件转换为 false,其他都是true if(0){} if(0.0){} if(undefined){} if(NaN){} if(""){} if(null){} ex: if(35.0){} //true if("Hello World"){}//true if(0){} //false 2、if 后的 {} 可以省略不写,如果省略不写的话,那么if只控制它下面的第一条语句4、if ... else 结构 1、作用 当满足条件时,执行某些操作 当不满足条件时,执行另外一些操作 2、语法 if(条件){ 语句块1; }else{ 语句块2; } 判断条件的结果 如果条件为真,则执行语句块1 否则(条件为假),则执行语句块25、else ... if 结构 1、判断 输入 一个 考试成绩 成绩 >= 100 分 ,奖励一台 兰博基尼 或者 成绩 >= 90分,奖励一台 法拉利 或者 成绩 >= 80分,奖励一台 奥迪 或者 成绩 >= 70分,奖励一台 奥拓 或者 成绩 >= 60分,奖励一台 自行车 否则 奖励俩 大嘴巴子! 2、语法 if(条件1){ 语句块1; }else if(条件2){ 语句块2; }...else if(条件n){ 语句块n; }else{ 语句块n+1; } 流程: 从上向下判断条件,满足哪个条件则执行对应的语句块,然后跳出整个结构 所有条件都不满足时,执行else结构 注意: 最后的 else 可以省略不写,如果省略的话,以上条件都不满足,则什么都不执行练习: 1、将 克莱托指数 计算 改成 选择结构版本 2、分别输入 年,月,日,判断该日是这一年的第 ? 天 输入年:2017 输入月:1 输入日:22 2017年1月22日是2017年的第22天 输入年:2017 输入月:4 输入日:15 2017年4月15日是2017年的第105天 (31+28+31+15) = 105 <script> /*输入身高体重*/ function calClt(){ var height = PRompt("Height:"); var weight = prompt("Weight:"); var clt = weight / (height * height); if(clt < 20){ alert("您偏瘦"); }else if(clt > 25){ alert("您偏胖"); }else{ alert("正常!"); } } /*输入年月日,判断该日是该年的第?天*/ function calDate(){ var year = prompt("请输入年:"); var month = prompt("请输入月:"); var day = Number(prompt("请输入日:")); //判断year是否为闰年 var isRun = year % 4 == 0 && year % 100 != 0 || year % 400 == 0; //声明totalDays 变量,用于保存总天数 var totalDays = 0; //根据用户输入的月份给出相应提示 if(month == 1){ totalDays = day; }else if(month == 2){ totalDays = 31 + day; }else if(month == 3){ totalDays = 31 + 28 + day; }else if(month == 4){ //累加 1月,2月,3月总天数,以及4月份输入的天数 totalDays = 31 + 28 + 31 + day; }else if(month == 5){ totalDays = 31 + 28 + 31 + 30 + day; }else if(month == 6){ totalDays = 31 + 28 + 31 + 30 + 31 + day; } //判断是否为2月以后以及是否为闰年,如果满足的话,再追加1天 if(month > 2 && isRun){ totalDays += 1; } //将提示输出的内容放在 选择结构 之外 console.log(year+"年"+month+"月"+day+"日是"+year+"年的第"+totalDays+"天"); } </script>

分支结构-2

1、"等值" 判断的分支结构 - switch 1、语法 switch(变量/表达式){ case 值1: 语句块1; break; -- 结束switch的运行,可选的 case 值2: 语句块2; break; -- 结束switch的运行,可选的 case ...: 语句块....; break; default: 语句块n; break; } 流程: 1、计算 switch后的 变量 或 表达式的值 2、判断值与哪个case块后面的值能匹配上,匹配上哪个case块则执行哪个语句块 3、碰到 break , 则结束switch结构的运行,如果没有break,则继续执行后续的case块,直到碰到break,或执行结束为止 4、如果任何case都没有匹配上的话,并且具备default模块的话,则执行default里面的内容。否则什么都不执行 注意: 1、各个case块与default之间的位置可以随便放 2、JS 默认是采用 === 的方式做等值判断的 1 和 "1" 是不相等的 2、特殊用法 - 直落 直落:两个 或 多个case块要执行相同的内容,可以采用直落的形式 switch(变量/表达式){ case 值1: case 值2: case 值3: 语句块; break; } 1、计算 变量 或 表达式的值 2、如果计算出来的值是 值1或值2或值3,都执行相同的语句块。 month = Number(prompt()); switch(month-1){ case 11: totalDays += 30; case 10: totalDays += 31; ... ... }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表