第3章 流程控制
语句块
js
// var 函数作用域
// let 与 const 块级作用域
{
var name = '只抄';
console.log(name); // 只抄
let age = 15;
console.log(age); // 15
const YEAR = 2021;
console.log(YEAR); // 2021
}
console.log(name); // 只抄
console.log(age); // 报错
console.log(YEAR); // 报错
if...else
js
// if...else用于判断后执行不同的语句块
let passcode = prompt('请输入暗号:');
if (passcode === '只抄') {
alert('暗号正确'); // 正确时执行该语句块
} else {
alert('暗号错误'); // 错误时执行该语句块
}
if...else if...else
js
// if...else if...else用于判断更多条件
let role = prompt('请输入用户权限');
if (role === '超级管理员') {
alert('跳转到超级管理员页面');
} else if (role === '管理员') {
alert('跳转到管理员页面');
} else {
alert('跳转到用户页面');
}
switch...case
js
// 功能上类似if...else if...else
let role = prompt('请输入用户权限');
switch (role) {
case '超级管理员':
alert('跳转到超级管理员页面');
break;
case '管理员':
alert('跳转到管理员页面');
break;
default: // 类似else
alert('跳转到用户页面');
break;
}
while
js
let password = '';
// 判断条件
while (password !== '123456') {
// 循环体
password = prompt('请输入密码:');
}
console.log('登录成功');
while (true) {} // 死循环
do...while
js
// do...while与while循环类似
// 区别是do...while循环无论条件是否满足,都会先执行一次
let x = 5;
do {
console.log(x); //该语句会执行
} while (x > 5 && x <= 10);
for
js
// for (变量; 条件; 增量)
for (let i = 0; i < 10; i++) {
console.log(i);
}
for (;;) {} // 死循环
break/continue
js
for (let i = 0; i < 10; i++) {
if (i === 6) {
break; // 结束循环
}
console.log(i); // 打印0~5
}
// ------
for (let i = 0; i < 10; i++) {
if (i === 6) {
continue; // 跳过本次循环
}
console.log(i); // 除了6都会打印出来
}
预览: