分支结构

一 概念

#### 1、if语句

- if 基础语法

```js
if (条件表达式) {
    代码块;
}
// 当条件表达式结果为true,会执行代码块;反之不执行
// 条件表达式可以为普通表达式
// 0、undefined、null、""、NaN为假,其他均为真
```

- if 复杂语法

```js
// 1.双分支
if (表达式1) {
    代码块1;
} else {
    代码块2;
}

// 2.多分支
if (表达式1) {
    
} else if (表达式2) {
    
} 
...
else if (表达式2) {
    
} else {
    
}
```

- if 嵌套

```js
if (表达式1) {
    if (表达式2) {
        
    }...
}...
```

#### 2、switch语句

```js
switch (表达式) {
    case 值1: 代码块1; break;
    case 值2: 代码块2; break;
    default: 代码块3;
}
// 1.表达式可以为 整数表达式 或 字符串表达式
// 2.值可以为 整数 或 字符串
// 3.break可以省略
// 4.default为默认代码块,需要出现在所有case最下方,在所有case均未被匹配时执行
```
二 代码示范
if 分支结构

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>分支结构</title>
</head>
<body>
分支结构
</body>
<script type="text/javascript">
// if分支结构

// var tq = prompt("今天天气(晴|雨)");
// if (tq == '雨') {
// alert("带伞上学!");
// }

// 语法
/*
if (条件表达式) {
代码块;
}
*/

// 条件表达式可以为普通表达式
// 表达式:由常量,变量组成的合法式子 1 | 1+a | ""+0("0")
// 0 "" null undefined NaN 为假
// var temp = " "; // 为真
// if (temp) {
// alert("表达式为真!");
// }


// 双分支
// var tq = prompt("今天天气(晴|雨)");
// if (tq == '雨') {
// alert("带伞上学!");
// } else {
// alert("不上学!");
// }

// 多分支
// var tq = prompt("今天天气(晴|雨|多云)");
// if (tq == '雨') {
// alert("带伞上学!");
// } else if (tq == '晴') {
// alert("不上学!");
// } else
// alert("睡觉!");
// alert("恶龙咆哮!"); // 该语句不属于if结构

// 1.else分支可以省略
// 2.else if分支可以为多个

// 注: 当某个分支只有一条逻辑语句,可以省略{}


// if嵌套
var jijie = prompt("季节(春夏秋冬):");
if (jijie == '冬') {
var wd = prompt("今天温度(-5|5)"); // 接收到的是字符串
wd = Number(wd);
if (wd < 0) {
alert('穿羽绒服!');
} else {
alert('穿短袖!');
}
}
// else if 春夏秋

</script>
</html>

switch分支结构

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>switch分支</title>
</head>
<body>
switch分支
</body>
<script type="text/javascript">
var month = prompt('请输入月份:');

// month = + month;
// switch (month) {
// // case 1: alert("31天"); break;
// case 1: alert("31天");
// default: alert("28天");
// }

// switch (month) {
// case '1': alert("31天"); break;
// default: alert("28天");
// }

month = + month;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
alert('31天');
break;
};

case 4:
case 6:
case 9:
case 11:
alert("30天"); break;

default: alert("28天");
}

// 总结:
// 1.break结束最近的case,跳出switch结构
// 2.表达式与值进行的是全等比较,所以表达式与值得类型需要统一 (字符串 | 整数值)
// 3.多个case可以共用逻辑代码块
// 4.default分支为默认分支,需要出现在所有case之下,也可以省略

</script>
</html>

posted @ 2018-10-12 17:16  不沉之月  阅读(190)  评论(0编辑  收藏  举报