JavaScript 流程控制与循环语句
一、流程控制概述
在程序设计中,需支持三种基础流程控制以实现结构化程序:
- 顺序控制:程序按自上而下顺序执行,是最基本的流程。
- 分支控制(条件控制):依据条件判断结果,选择不同执行路径,包含
if语句、switch语句 。 - 循环控制:在条件满足时,重复执行一段代码,涵盖
while、do...while、for等循环语句 。
二、分支流程控制
(一)if 语句【重要】
实现多分支判断,细分为单分支、双分支、多分支、分支嵌套,if 条件括号内可为值或表达式。
1. 单分支
javascript
运行
if (条件表达式) {
代码段
}
示例:判断成绩是否及格(单分支)
javascript
运行
var score = 78;
if (score >= 60 && score <= 100) {
console.log('及格');
}
2. 双分支
javascript
运行
if (条件表达式) {
代码段1
} else {
代码段2
}
示例:判断成绩是否及格(双分支)
javascript
运行
var score = 78;
if (score >= 60 && score <= 100) {
console.log('及格');
} else {
console.log('不及格');
}
// 双分支改写三元运算符
var res = score >= 60 && score <= 100 ? '及格' : '不及格';
console.log(res);
3. 多分支
javascript
运行
if (条件表达式1) {
代码段1
} else if (条件表达式2) {
代码段2
} else if (条件表达式3) {
代码段3
} else {
代码段4
}
示例:判断成绩所属等级(多分支)
javascript
运行
var score = 59;
if (score >= 60 && score <= 100) {
console.log('及格');
} else if (score >= 0 && score <= 59) {
console.log('不及格');
} else {
console.log('输入错误!');
}
4. 分支嵌套
在 if 分支内嵌套 if 判断,实现更细粒度条件控制。
示例:成绩细分等级(分支嵌套)
javascript
运行
var score = 80;
if (score >= 60 && score <= 100) {
if (score >= 85) {
console.log('优秀');
} else if (score >= 75) {
console.log('良好');
} else {
console.log('中等');
}
} else if (score >= 0 && score <= 59) {
console.log('不及格');
} else {
console.log('输入错误!');
}
(二)Switch 语句【掌握】
按变量具体值进行多分支判断,switch 括号内只能是变量或值,不能是表达式 。
javascript
运行
switch (变量) {
case 值1:
代码段;
break;
case 值2:
代码段;
break;
...
default:
代码段;
}
示例:根据星期几输出对应提示
javascript
运行
var d = new Date();
var week = d.getDay(); // 获取星期几
switch (week) {
case 0:
console.log('星期天');
break;
case 1:
console.log('星期一');
break;
// 其他 case 省略...
}
(三)if 与 switch 对比
- if 适用场景:条件为范围判断(如成绩
60 - 100区间),或条件是表达式的情况 。 - switch 适用场景:条件是具体离散值(如星期几、按钮固定文本)的判断 。
- 转换关系:能用
switch实现的判断,if都能实现;但if能实现的复杂范围判断,switch不一定能实现 。
三、循环控制语句
(一)while 语句【掌握】
先判断条件,条件为真则执行循环体,不满足则一次不执行。
javascript
运行
while (条件表达式) {
循环体
}
示例:输出 1 - 10 数字
javascript
运行
var i = 1;
while (i <= 10) {
console.log(i);
i++;
}
(二)do...while 语句【了解】
先执行一次循环体,再判断条件,条件为真则继续循环,至少执行一次循环体。
javascript
运行
do {
代码段
} while (条件表达式)
示例:至少执行一次的循环
javascript
运行
var i = 1;
do {
i++;
console.log(i);
} while (i <= 10)
(三)for 语句【重要】
通过初始化、条件判断、更新变量三步,控制循环执行,格式清晰,适合已知循环次数场景。
javascript
运行
for (循环变量初始化表达式; 循环条件表达式; 更新循环变量表达式) {
循环体
}
注意:循环变量可定义在 for 外;无更新变量易成死循环;循环条件中 ; 不可省略 。
示例 1:输出 5 个 div 标签
javascript
运行
for (var i = 0; i < 5; i++) {
document.write('<div>1</div>')
}
示例 2:计算 1 - 100 累加和
javascript
运行
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
if (i < 100) {
document.write(i + '+');
} else {
document.write(i + '=' + sum);
}
}
console.log(sum);
(四)for...in 语句【掌握】
遍历对象属性,变量保存属性名,常用于遍历对象或数组(遍历数组时变量为索引)。
javascript
运行
for (变量 in 对象) {
代码段
}
示例:遍历数组中对象的属性
javascript
运行
var arr = [
{ "name": "Java编程思想", "price": 78.9 },
{ "name": "python入门宝典", "price": 59 }
];
for (var i = 0; i < arr.length; i++) {
for (key in arr[i]) {
console.log(arr[i][key]);
}
}
四、跳转语句
(一)continue 语句【掌握】
用于循环中,跳过本次循环剩余代码,继续下一次循环判断。
javascript
运行
var iNum = 0;
for (var i = 1; i < 10; i++) {
if (i % 5 == 0) {
continue;
}
iNum++;
}
alert(iNum);
(二)break 语句【掌握】
用于循环或 switch 中,退出循环或 switch,阻止后续执行。
javascript
运行
for (var i = 1; i < 10; i++) {
if (i % 5 == 0) {
break;
}
iNum++;
}
alert(iNum);更多推荐

所有评论(0)