JavaScript基础(四) 之分支结构
2017-02-03 21:57
148 查看
分支结构-1
分支结构-2
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 否则(条件为假),则执行语句块2 5、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; defaul 4000 t: 语句块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; ... ... }
相关文章推荐
- JavaScript之基础-6 JavaScript 分支结构 (if、if-else、else if、switch-case)
- JavaScript复习之--流程控制-分支结构
- JavaScript 基础结构
- 黑马程序员-----------C语言基础-----------分支结构
- ios入门攻略 05篇 C语言基础【分支结构之switch语句】
- ios入门攻略 04篇 C语言基础【分支结构之if语句】
- java基础知识:数据类型,switch语句,分支结构
- Java基础03-运算符和分支结构
- JavaScript基础学习之-JavaScript权威指南-第二章词法结构
- 黑马程序员_C语言基础_分支结构(if……else,switch)
- java基础,分支结构、循环、数组
- Python学习入门基础教程(learning Python)--3 Python分支结构和布尔逻辑
- Oracle基础 PL-SQL编程基础(2) 分支结构
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
- JavaScript基础学习之-JavaScript权威指南-第二章词法结构
- javascript 多条件分支结构
- 学ios需要了解的C语言基础知识-3-分支结构循环结构
- javascript 基础,js中节点问题。文档结构问题。text节点问题
- iOS开发之c语言基础-分支结构
- 复杂分支结构逆向(基础)