流程控制,是任何一门编程语言都有的语法,指的是控制程序按照怎样的顺序执行。
在js中有3中流程控制方式。
顺序结构,选择结构,循环结构。
顺序结构
在js中,顺序结构是最基本的结构。顺序结构就是指代码从上到下、从左到右的顺序执行。
eg:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var str1="11111";
var str2="22222";
var str3=str1+str2;
document.write(str3);
</script>
</body>
</html>
一般情况下,js按照顺序结构来执行。但是在某些时候,只用顺序结构是解决不了问题的,因此就需要引入选择结构和循环结构了。
选择结构
js中,选择结构是根据条件判断来决定使用那一段代码的。
选择结构有三种,单向选择,双向选择,多向选择。但无论是哪一种,js只会执行其中的一个分支。
在js中,选择结构有两种:if语句和switch语句。
if语句
if语句有单向选择if 双向选择if else 多项选择if else if else if语句的嵌套
单向选择if
if(){
}
条件一般是一个比较表达式。条件返回结果为true,就执行{}里的内容,返回false,就直接跳过{}里的语句,然后按照顺序执行后面的程序。(为啥这样简单的道理你都可以不明白,程序从上到下依次执行。)
大括号括起来的程序,称为语句块。语句块常用于选择结构、循环结构和函数中,js会把一个语句块看成一个整体来执行。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var a=100;
if(a>60){
document.write("你是我的小可爱");
}
var b=59;
if(b>60){
document.write("你也是我的小可爱");
}
document.write("你让我的心疼痛难忍");
</script>
</body>
</html>
双向选择 if...else
if(条件){
...
}else{
...
}当条件返回结果为true,会执行if后面括号{}中的程序;当条件返回结果为false,执行else{}里的程序。
双向选择还可以用三目运算符代替它。
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var score=78;
if(score>60){
console.log("可以放学啦");
}else{
console.log("一小时的课堂补习");
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var score=78;
var result=(score<60) ? "放学一小时补习" :"可以放学啦";
console.log(result);
</script>
</body>
</html>
多向选择 if else if else
多向选择,就是在双向选择的基础上增加n个选择分支。
多向选择,从第一个if条件开始判断,如果第一个if不满足,则判断第二个if条件,如果第二个if条件还不满足,就判断第三个if条件,直到判断满足为止,一旦条件满足,就会退出整个if结构
if(条件1){
//当条件为true时执行的代码
}else if(条件2){
//当条件为true时执行的代码
}else{
//当条件1和条件2都为false时执行的代码
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var money=10000;
if(money<3000){
console.log("你的工资有点低")
}else if(money