(1)顺序结构(流程控制)

按照书写顺序来执行,是程序中最基本的流程结构。

window.onload = function () {
  document.write('你好');
  document.write('hello');
  // 注意:变量的书写的先后顺序,会影响程序的执行结果。 
  var name = '小戴';
  document.write('<h2>你好</h2>');
  document.write('<h1>' + name + '</h1>');
  var name = '小王';
}

如下图所示,你好在hello之前输出,小戴生效而小王为生效

202103191616122097175249

(2)选择结构(分支结构、条件结构)

根据给定的条件有选择的执行相应的语句

<1>单路分支

条件可以是表达式也可以是任何的数据类型

大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号

<2>双路分支

if(条件){
条件成立的时候执行的代码
}else{
条件不成立的时候执行的代码
}

var num1 = window.prompt('请输入数字1:', '');
var num2 = window.prompt('请输入数字2:', '');
// 将字符串类型数据转化成数值型数据
num1 = Number(num1);
num1 = Number(num2);
if (num1 > num2) {
  console.log(num1 + '大于' + num2);
} else if (num1 = num2) {
  console.log(num1 + '等于' + num2);
} else {
  console.log(num1 + '小于' + num2);
}

分别输入数字1=1,数字2=2

控制台:

202103191616122340194517
<3>多路分支
if(条件1){
条件1成立执行的代码
}else if(条件2){
条件2成立执行的代码
}else if(条件3){
条件3成立执行的代码
}…else{
如果上述条件都不成立执行的代码
}

var score = 95;
if (score <= 100 && score >= 90) {
  document.write('优秀');
} else if (score < 90 && score >= 70) {
  document.write('良好');
} else if (score < 70 && score >= 60) {
  document.write('及格')
} else if (score < 60) {
  document.write('不及格');
} else {
  document.write('系统故障');
}

页面输出:

202103191616123446134420

<4>嵌套分支:可以在if体中嵌套,也可以在else if中嵌套,也可以在else中嵌套

if (条件1) {
if () {} else if () {}…
} else if (条件2) {
条件2成立执行的代码
} else if (条件3) {
条件3成立执行的代码
}…
else {
如果上诉条件都不成立执行的代码
}

var score = 100;
if (score <= 100 && score >= 90) {
  if (score == 100) {
    document.write('恭喜满分!');
  } else {
    document.write('优秀');
  }
} else if (score < 90 && score >= 70) {
  document.write('良好');
} else if (score < 70 && score >= 60) {
  document.write('及格')
} else if (score < 60) {
  document.write('不及格');
} else {
  document.write('系统故障');
}

在上一代码的基础上增加嵌套

202103191616123666168951
页面:

202103191616123694194248
<5>switch语句
switch(变量任何的数据类型){
case 值1:
表达式1;
break;
case 值2:
表达式2;
case 值3:
表达式3;
break;

default:
表达式;
}

先获取时间,然后判断是一周中的第几天

var date = new Date();
document.write(date + '<br>');
// 获取一周的第几天 
var week = date.getDay();
document.write(week);
switch (week) {
  case 1:
    document.write('今天是星期一');
    break;
  case 2:
    document.write('今天是星期二');
    break;
  case 3:
    document.write('今天是星期三');
    break;
  case 4:
    document.write('今天是星期四');
    break;
  case 5:
    document.write('今天是星期五');
    break;
  case 6:
    document.write('今天是星期六');
    break;
  default:
    document.write('今天是星期天');
    break;
}

控制台:

202103191616124475121923