目录
一、什么是流程控制?
流程控制指的是控制代码按照什么顺序去执行!
流程控制分为:顺序结构、分支结构和循环结构!
二、顺序结构
顺序结构:指的是代码从上到下依次执行。是最基本、最简单的流程控制!
三、分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果
1. if 分支语句
语法:
if (条件表达式) {
//执行语句
}
执行思路: 如果条件表达式为真(true), 则执行大括号里的执行语句; 如果为假, 则执行 if 语句后面的代码
2. if else 双分支语句
语法:
if (条件表达式) {
// 执行语句1
} else {
// 执行语句2
}
执行思路: 如果条件表达式为真, 则执行语句1; 如果条件表达式为假, 则执行语句2
3. if else if 多分支语句
语法:
if (条件表达式1) {
//执行代码1;
} else if (条件表达式2) {
//执行代码2
} else if (条件表达式3) {
//执行代码3
} else {
//最后的语句
}
执行思路:先执行表达式1,如果满足就执行代码1,然后退出整个代码;如果不满足,执行条件表达式2,如果都不满足,则输出最后的语句
4. 三元表达式
三元表达式:? : 由三元运算符组成的式子叫做三元表达式 和 if else 很像
语法结构: 条件表达式 ? 表达式1 : 表达式2
执行思路:如果条件表达式结果为真,则返回表达式1;如果为假,则返回表达式2。并且表达式是有返回值的!
数字补0 小demo
思路:数字补0,如果数字小于10,则在前面补0;如果大于10,则不需要补
var num = prompt('请输入数字');
var result = num < 10 ? '0' + num : num;
alert(result);
5. switch 分支语句
switch多分支语句,主要针对特定值的选项时,用switch,同样也是多选1
语法结构:
switch (条件表达式) {
case value1 :
执行语句1;
break; //退出语句
case value2 :
执行语句2;
break; //退出语句
case value3 :
执行语句3;
break; //退出语句
default :
执行最后的语句;
}
执行原理:条件表达式的值和value值相匹配,如果匹配上了就执行对应的case,然后退出语句;如果都没有匹配上,执行default。
注意:
- 条件表达式的值和value值必须是全等关系,即值相同并且数据类型也要相同
- 条件表达式经常写成变量
6. switch 和 if else if 的区别:
- 当case的值确定的时候,用switch;如果是判断范围的,使用if else if。
- 其次switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if else if 的语句条件有即个,就判断多少次
- 分支少的时候,if else if 效率比switch 高
四、循环结构
循环的目的:重复执行某些代码
1. for 循环
for循环:由循环体和终止条件组成的语句,被称为循环语句
for循环重复执行某些代码,通常跟计数有关
语法结构:
for (初始化变量; 条件表达式; 操作表达式) {
//循环体
}
初始化变量:就是用var声明并且赋值的一个普通变量,通常用作计数器使用
条件表达式:用来决定每次循环是否继续执行,也就是终止的条件
操作表达式:每次循环最后执行的代码,经常用于计数器变量进行更新(递增或者递减)
demo:求1-100之间所有整数的累加和
// 需要一个存储变量的sum,初始值一定是0
// 核心算法:1+2+3+4+5+.... sum=sum+i;
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum = sum + i;
}
console.log(sum);
2. 双重 for 循环
语法结构:
for (外层初始化变量; 外层条件表达式; 外层操作表达式) {
for (内层初始化变量; 内层条件表达式; 内层操作表达式) {
//执行语句
}
}
执行思路:外层for循环执行1次,内层for循环执行全部;然后执行下一轮,外层for循环执行第二次,内层for循环执行全部,一次类推。
demo:九九乘法表
// 九九乘法表
var str = '';
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
// 1 x 2 = 2
str = str + j + 'x' + i + '=' + j * i + '\t';
}
str += '\n';
}
console.log(str);
3.while 循环 (当.... 时候)
语法结构:
while (条件表达式) {
// 循环体
}
执行思路:当条件表达式结果为真,则执行循环体;否则推出循环
注意:也需要有初始化变量;并且需要有操作表达式
demo:计算1-100之间所有整数的和
// var sum = 0;
// var i = 1;
// while (i <= 100) {
// sum = sum + i;
// i++;
// }
// console.log(sum);
4. do while 循环
语法结构:
do {
// 循环体
} while (条件表达式)
执行思路: 先执行一次循环体,在判断条件表达式是否为真,如果为真,则继续执行循环体;如果为假,则退出循环。至少有一次循环
demo:计算1 - 100 之间所有整数的和
var sum = 0;
var i = 1;
do {
sum += i;
i++;
} while (i <= 100)
console.log(sum);
五、continue关键字和break关键字
1. continue 关键字
立即跳出本次循环,然后执行下一次循环
for (var i = 1; i <= 5; i++) {
if (i == 3) {
continue; // 只要遇见continue 就退出本次循环,直接跳到 i++
}
console.log('我正在吃第' + i + '个包子');
}
demo:求1-100之间,除了能被7整除之外的整数和
var sum = 0;
for (i = 1; i <= 100; i++) {
if (i % 7 == 0) {
continue;
}
sum += i;
}
console.log(sum);
2. break 关键字
直接退出整个循环
for (var i = 1; i <= 5; i++) {
if (i == 3) {
break; // 只要遇见break ,直接推出整个循环
}
console.log('我正在吃第' + i + '个包子');
}
总结
以上就是今天分享的关于JavaScript流程控制相关内容。流程控制分为顺序结构、分支结构和循环结构
"pink"的涵义是:拼尽全力!克服困难