语句与代码块
语句
介绍
- 程序是由一条一条语句构成的
- 可以用
{}
对语句进行分组,同一个组的语句要么都执行,要么都不执行,一个组的语句也叫代码块
- js的代码块只有分组作用,代码块中的内容在外部是完全可见的
//代码块
{
// let a = 6;//用let定义的变量在外部不可视
var a = 6;//用var定义的变量在外部可视
}
console.log(a);
条件语句
在JavaScript中,条件语句用于根据特定条件执行不同的代码块。主要有两种条件语句:if...else
和 switch
。
if...else 语句
if...else 语句用于在满足某个条件时执行一段代码,否则执行另一段代码。基本语法如下:
if (条件) {
// 当条件为真时执行的代码
} else {
// 当条件为假时执行的代码
}
还可以使用 else if 添加更多条件:
if (条件1) {
// 当条件1为真时执行的代码
} else if (条件2) {
// 当条件1为假且条件2为真时执行的代码
} else {
// 当所有条件都为假时执行的代码
}
- 案例:
let score = 85;
if (score >= 90) {
console.log("优秀");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
switch 语句
- 又称条件分支语句
- switch 语句用于在多个条件中选择一个执行相应的代码块。基本语法如下:
switch (表达式) {
case 值1:
// 当表达式的值等于值1时执行的代码
break;
case 值2:
// 当表达式的值等于值2时执行的代码
break;
// 更多的 case...
default:
// 当表达式的值与所有 case 值都不匹配时执行的代码
}
-
switch 语句中的 break 关键字用于跳出当前 switch 语句,防止执行后续的 case 代码。如果省略 break,则会发生“贯穿”现象,即继续执行后续的 case 代码,直到遇到 break 或 switch 语句结束。
-
案例:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
dayName = "星期四";
break;
case 5:
dayName = "星期五";
break;
case 6:
dayName = "星期六";
break;
case 7:
dayName = "星期日";
break;
default:
dayName = "无效的日期";
}
console.log(dayName);
循环语句
-
循环语句用于重复执行一段代码。JavaScript提供了三种循环语句:for循环、while循环和do-while循环。
-
创建循环的三个步骤
- 初始化变量
- 设置退出条件
- 定义更新表达式,更新变量
for循环
for循环用于重复执行一段代码,语法如下:
for (initialization; condition; increment) {
// 在每次循环中执行这里的代码
}
- 执行流程
- 执行初始化表达式
- 执行条件表达式
- 执行循环体
- 执行更新表达式
案例
for (let j = 0; j < 5; j++) {
document.write(j+"<br/>");
}
while循环
while循环用于重复执行一段代码,直到条件不成立为止。语法如下:
while (condition) {
// 在每次循环中执行这里的代码
}
案例:
let i =0;
while(i < 5){
document.write(i+"<br/>");
i++;
}
do-while循环
do-while循环用于重复执行一段代码,直到条件不成立为止。与while循环不同的是,do-while循环会先执行一次代码块,然后再检查条件是否成立。语法如下:
do {
// 在每次循环中执行这里的代码
} while (condition);
break和continue
-
break和continue关键词
- 在JavaScript中,break和continue语句用于控制循环流。
- break语句用于立即终止循环。当在循环中遇到break语句时,循环将退出,程序将从循环后的下一个语句继续执行。
- continue语句用于跳过循环的一次迭代。当在循环中遇到continue语句时,当前迭代将停止,循环将立即转到下一次迭代。
-
label
- 可使用label表示循环,用break可以跳出指定循环,可以用continue立即转到指定循环
outer:
for(let i = 0; ; i++){
console.log("外层循环"+i);
if(i == 3){
continue outer;
}
if(i == 5){
break outer;
}
for(let j = 0; j < 5; j++){
console.log("内层循环"+j);
}
}