JavaScript-----6.流程控制:分支
1.流程控制
就是来控制代码按照何种顺序来执行,流程控制有三种结构:顺序结构、分支结构、循环结构
2.顺序流程控制
程序按照代码先后顺序依次执行
3.分支流程控制
JS中提供两种分支结构语句:if语句、switch语句
3.1 if语句
if语法结构:
//条件成立则执行代码,否则什么也不做
if (条件表达式) {
//执行的语句
}
案例:进入网吧
弹出一个输入框,要求用户输入年龄,如果年龄大于等于18则运行进入网吧
var age = prompt('请输入年龄');
if (age >= 18) {
alert('允许进入网吧');
}
3.2 if else双分支语句
语法结构:
if (条件表达式) {
//语句1
} else {
//语句2
}
注意: else后面直接跟大括号{},不跟小括号()
案例:
var age = prompt('请输入年龄');
if (age >= 18) {
alert('允许进入网吧');
} else {
alert('禁止未成年进入网吧');
}
案例: 判断闰年
接收用户输入的年份,如果是闰年就弹出闰年,否则弹出平年.
算法:可以被4整除且不能被100整除的为闰年或者说能够被400整除的是闰年
var year = prompt('请输入年份');
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
alert('是闰年');
} else {
alert('不是闰年');
案例:判断是否中奖
接收用户输入的姓名来判断是否中奖,如果输入的是刘德华则提示中了5块,否则提示没中奖
var user_name = prompt('请输入用户名');
if (user_name == '刘德华') {
alert('嘻嘻,中了5块钱');
} else {
alert('呜呜,没中奖');
}
3.3 if else多分支语句
if (条件表达式1) {
//语句1
} else if (条件表达式2) {
//语句2
} else if (条件表达式3) {
//语句3
} else {
//语句4
}
案例:判断成绩级别
var score = prompt('输入用户成绩');
score = parseFloat(score);
if (score >= 90) {
alert('A');
} else if (score >= 80) {
alert('B');
} else if (score >= 70) {
alert('C');
} else if (score >= 60) {
alert('D');
} else {
alert('E');
}
3.4 三元表达式
由三元运算符组成的式子,我们称为三元表达式。语法如下:
//条件表达式 ?表达式1 :表达式2
说明:若条件表达式为真则返回表达式1的值,否则返回表达式2的值。
//条件表达式 ?表达式1 :表达式2
var num = 10;
var result = num > 5 ? '是的' : '不是的';
console.log(result);
案例:数字补零
要求:用户输入数字,如果数字小于10,则在前面补0,比如:01,09,如果数字大于10则不需要补0,如20。
var num = prompt('请输入数字');
var result = num > 10 ? num : 0 + num;
console.log(result);
3.5 switch语句
switch也是多分支语句,语法结构如下:
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
case value3:
执行语句3;
break;
default:
执行最后的语句;
}
说明:
- default里面的语句是在没有value值与switch里的表达式相匹配的时候才执行的。
- switch里面的值和case里面的值必须全等===的时候才算匹配成功。
- 如果当前的case里面没有break则不会推出switch,而是无论是否匹配,继续执行下一个case,直达遇到下一个break。
案例:用户在弹出的输入框里面输入一个水果,如果有则弹出该水果的价格,如果没有就弹出没有此水果。
3.5 switch语句和if else if语句的区别
- 当分支较少时,if...else语句的执行效率比switch语句高
- 当分支较多时,switch语句的执行效率比较高,而且结构更清晰
作业1:判断时间段,比如用户输入12点弹出中午好,用户输入18点弹出傍晚好,用户输入23点弹出深夜好。
var time = prompt('请用户输入时间');
if (time <= 4) {
alert('清晨');
} else if (time <= 8) {
alert('早上');
} else if (time <= 10) {
alert('上午');
} else if (time <= 13) {
alert('中午');
} else if (time <= 16) {
alert('下午');
} else if (time <= 18) {
alert('傍晚');
} else {
alert('晚上');
}
作业2:比较两个数的最大值(用户依次输入两个值,最后弹出最大的那个值)
var num1 = prompt('请输入第一个数字');
var num2 = prompt('请输入第二个数字');
var result = num1 > num2 ? alert('较大的数是' + num1) : alert('较大的数是' + num2);
console.log(typeof num1);
作业3:用户输入一个数,来判断是奇数还是偶数。
var num = prompt('请输入数字');
if (num % 2 == 0) {
alert(num + '是偶数');
} else {
alert(num + '是奇数');
}
作业4:根据用户输入的数值(数字1~数字7),返回星期几
var day = prompt('请输入1~7之间的一个数字');
switch (day) {
case '1':
alert('星期1');
break;
case '2':
alert('星期2');
break;
case '3':
alert('星期3');
break;
case '4':
alert('星期4');
break;
case '5':
alert('星期5');
break;
case '6':
alert('星期6');
break;
case '7':
alert('星期天');
break;
default:
alert('数字超出范围');
}
作业5:接收班长口袋里的钱数,若大于等于2000则请大家吃西餐。若小于2000,大于等于1500,请大家吃快餐。若小于1500,大于等于1000,请大家喝饮料。若小于1000,大于等于500,请大家吃棒棒糖。否则提醒班长下次把钱带够。
var money = prompt('班长口袋里的金额');
if (money >= 2000) {
alert('班长请大家吃西餐');
} else if (money >= 1500) {
alert('班长请大家吃快餐');
} else if (money >= 1000) {
alert('班长请大家喝饮料');
} else if (money >= 500) {
alert('班长请大家吃棒棒糖');
} else {
alert('班长记得下次把钱带够');
}
JavaScript-----6.流程控制:分支的更多相关文章
- JavaScript 流程控制-分支
JavaScript 流程控制-分支 1.流程控制 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能. 简单理解:流程控 ...
- JavaScript的流程控制
JavaScript的流程控制 1.if...else if...else... 2.while 3.for 4.forEach 5.for...in... 完整代码如下: <!DOCTYPE ...
- Python 流程控制-分支结构详解
目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...
- JavaScript基础-流程控制-if
流程控制基本概念 默认情况下,程序的运行流程是这样的:运行程序后,系统会按书写从上至下顺序执行程序中的每一行代码,但是这并不能满足我们所有的开发需求 1.png 实际开发中, 我们需要根据不同的条件执 ...
- python基础-->流程控制-->分支结构-->单项分支-->双向分支
# ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...
- (16)JavaScript的流程控制(js的循环)
流程控制有3种结构 1.顺序结构:代码执行的本质就是顺序结构 2.分支结构:if家族 语法规则: if (条件1) { //代码块1}else if (条件2){ //代码块1}//如果所有条件都不满 ...
- 10、shell编程+流程控制+分支嵌套
SHELL 编程 shell 是一个命令解释器,侦听用户指令.启动这些指令.将结果返回给用户(交互式的shell) shell 也是一种简单的程序设计语言.利用它可以编写一些系统脚本. ...
- javascript之流程控制 和函数的容易忽略点
1.流程控制 1> for in 仅用于 对象的遍历: var box={ "name":'小红', 'age':18, 'height':165 }; for(var b ...
- JavaScript异步流程控制的前世今生
Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous). 什么是同步编程 "同步模式"就是上一段的模式,后一个任务等待前 ...
- PHP流程控制分支结构
1.顺序结构2.分支结构(条件结构.选择结构) (1)单路分支 //条件bool,ture或false if(条件){ 执行语句: ...
随机推荐
- Java题库——Chapter15 事件驱动编程和动画
Chapter 15 Event-Driven Programming and Animations Section 15.2 Events and Event Sources1. A Java ...
- 流式计算(一)-Java8Stream
大约各位看官君多少也听说了Storm/Spark/Flink,这些都是大数据流式处理框架.如果一条手机组装流水线上不同的人做不同的事,有的装电池,有的装屏幕,直到最后完成,这就是典型的流式处理.如果手 ...
- MySQL 是如何处理死锁的
MySQL(InnoDB)是如何处理死锁的 一.什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁. 这个就好比你有一个人质,对方有一个人质,你们俩去 ...
- 系统架构师考试知识点mp3资料免费下载
场景 系统架构设计师考试,属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个高级考试. 系统架构设计师考试,考试不设学历与资历条件,不论年龄和专业,考生可根据自己的技术水平,选 ...
- Android TitleBar推荐
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/206 Android TitleBar推荐 这段时间在帮别 ...
- Virtual Box复制虚拟机
用惯了VM换BOX还是有点不大一样的,比如复制 我用了2个网卡,所以看起来麻烦了一次 注释了UUID 应该有更好的办法来操作,下面的看起来有点啰嗦,先凑合着这样弄... 1.关机 2.复制 3.改名称 ...
- linux安装数据时报错Could not execute auto check for display colors using command /usr/bin/xdpyinfo.
在redhat6.5上安装Oracle时,最后使用oracle用户执行runInstaller 报错如下,无法连接到安装有xmanager的windows服务器,也就无法图形化安装oracle ora ...
- gunicorn Python部署应用
对于flask应用 启动命令为 python app.py 使用gunicorn启动 pip install gunicorn python gunicorn --workers=7 switch_a ...
- hibernate-positional-parameter-does-not-exist-1-in-query
经过bug的排查,问题出在,scsj字段的赋值上; 通过字符串在数据库端生成即可:
- 【洛谷5644】[PKUWC2018] 猎人杀(容斥+生成函数+分治NTT)
点此看题面 大致题意: 有\(n\)个人相互开枪,每个人有一个仇恨度\(a_i\),每个人死后会开枪再打死另一个还活着的人,且第一枪由你打响.设当前剩余人仇恨度总和为\(k\),则每个人被打中的概率为 ...