第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都会打印出来
}








