在一个流程执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
简单理解:流程控制就是来控制我们代码按照什么结构顺序来执行
流程控制主要有三种结构,分别是顺序结构、分支结果和循环结构,这三种结构代表三种代码执行的顺序。
2.顺序流程控制
顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序按照代码先后顺序,依次执行程序中大多数的代码都是这样执行的
3.分支流程控制if语句
3.1分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一),从而得到不同的结果
JS语言提供了两种分支结构语句
- if语句
- swicth语句
3.2if语句
1.语法结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>分支流程控制if</title>
<script>
// 条件成立执行代码,否则什么也不做
if (推荐表达式) {
// 条件成立执行代码语句
}
</script>
</head>
<body>
</body>
</html>
语句可以理解为一个行为,循环语句和分支语句就是典型的语句,一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句。
3.3 if else 语句 (双分支语句)
1、语法结构
// 1.语法结构 if如果意思 else否则意思
if (条件表达式) {
// 执行语句1
}else{
// 执行语句2
}
// 2.执行思路 如果表达式结构为真 那么执行语句1 否则 执行语句2
2、执行流程
案例代码展示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>if elsa语句 (双分支语句)</title>
<script>
// 1.语法结构 if如果意思 else否则意思
// if (条件表达式) {
// // 执行语句1
// }else{
// // 执行语句2
// }
// 2.执行思路 如果表达式结构为真 那么执行语句1 否则 执行语句2
// 3.代码验证
var age = prompt('请输入您的年龄:');
if (age >= 18) {
alert('我想带你去网吧偷耳机');
}else{
alert('滚,回家写作业');
}
//5. if里面的语句1和else 里面的语句2最终只能有一个语句执行 2先1
// 6. else 后面直接跟大括号
</script>
</head>
<body>
</body>
</html>
案例代码展示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>分支流程控制if else 语句案例</title>
<script>
/* 算法:能被4整除且不能整除100的为闰年 (如果2004年就是闰年, 1901年不是闰年)或者能够被400整除的就是闰年
弹出prompt输入框,让用户输入年份,把这个值取过来保存到质变中
使用if语句来判断是否是闰年,如果是闰年,就执行if大括号里面的输出语句,否则就执行else里面的输出语句
一定要注意里面的且&&还有或者||的写法,同时注意判断整除的方法取余0*/
var age = prompt ('请输入多少年:');
if (age % 4 ==0 && age % 100 != 0 || age % 400 == 0) {
//解释:age变量 取 4 等于0执行if里面的代码
// age变量 取(除) 100 不等于 0执行else里面的代码
// age变量 取 400 等于0 执行if里面的代码
alert('你输入的是闰年');
}else{
alert('你输入不是闰年');
}
</script>
</head>
<body>
</body>
</html>
案例代码展示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>判断是否中奖</title>
<script>
/* 接收用户输入的姓名,来判断是否中奖,如果输入的是刘德华,则提示中了5块钱,否则提示没有中奖 */
var age = prompt('用户输入名字:');
if (age == '刘德华' || age !=' 刘德华' && age =='刘德华') {
// 这里我是用短路逻辑运算来判断:
// 与 && 第一个为真则返回第二个结果,第一个为假则返回第一个结果
// 或 || 第一个为真则返回第一个结果,第一为假则返回第二个结果
alert('中了5块钱');
}else{
alert('没有中奖');
}
// var age = prompt('用户输入您的名字:');
// if (age === '刘德华') {
// // 这里就是用户输入框本来就是输入字符串string类型
// // 这里只使用一个全等,要是输入框跟这个'刘德华'全等于者执行if
// // 不等于直接,直接执行if下面那个
// alert('恭喜你,中奖5元');
// }else{
// alert('很遗憾,你没有中奖');
// }
</script>
</head>
<body>
</body>
</html>