4.22分支语句
作者:互联网
分支语句:
NaN`:非法的数值运算得到的结果
- 特殊之处:
1. 是一个数值型的数据,但是不是一个数字
2. NaN不等于任何值,和任何数据都不相等,NaN不等于NaN
- 检测方法:`isNaN(要检测的数据)`
- true:检测结果为 NaN 或能转成 NaN
- false:检测结果不是 NaN 或不能转成 NaN
- `undefined`是:未赋值,类型是undefined;`null`是:空,类型是object
- 特殊1:undefined和null在关系运算符两边隐式类型转换后,得到了一致的数据
- 特殊2:undefined被Number转成NaN,null被Number转成0
- 如何判断三大特殊的值,分别是谁?
- `NaN`可以使用`isNaN()`来判断
- isNaN(要判断的值或变量);
```js
var a = NaN;
console.log(isNaN(a));
```
- `undefined`可以使用`typeof`判断
- typeof 要判断的值或变量
```js
var b = undefined;
console.log( (typeof b) === "undefined" );
```
- `null`需要配合`typeof`和关系运算符判断
- typeof 要判断的值或变量 === "object"
```js
var c = null;
console.log( (typeof c) === "object" );
```
- 还需要( && )
- 要判断的值或变量 == null
```js
console.log(c === null); if的小括号里面也会发生隐式类型转换规则
- 规则:其他转布尔
- 数值转布尔:非0为true,0为false
- 字符转布尔:非空字符,为true,空字符,为false
- 对象转布尔:对象为true
- 数组转布尔:数组为true
- 函数转布尔:函数为true
- 特殊数据转布尔:undefined,NaN,null都为false
`switch`:多分支
- 语法:
```js
var n = 2;
var msg = "";
switch(Number(n)){
case 0:
msg = "星期日";
break;
case 1:
msg = "星期一";
break;
...
default:
msg = "你输入的数字不对,请输入0~6之间的数字";
}
console.log(msg);
```
- 规则:
- 当要判断的值是固定的数据时,选择使用switch
- 如果要判断的值是范围时,选择使用if-else - switch的case判断,不存在隐式类型转换
- 某些情况下,需要根据场景,选择是否需要主动转换
NaN`:非法的数值运算得到的结果
- 特殊之处:
1. 是一个数值型的数据,但是不是一个数字
2. NaN不等于任何值,和任何数据都不相等,NaN不等于NaN
- 检测方法:`isNaN(要检测的数据)`
- true:检测结果为 NaN 或能转成 NaN
- false:检测结果不是 NaN 或不能转成 NaN
- `undefined`是:未赋值,类型是undefined;`null`是:空,类型是object
- 特殊1:undefined和null在关系运算符两边隐式类型转换后,得到了一致的数据
- 特殊2:undefined被Number转成NaN,null被Number转成0
- 如何判断三大特殊的值,分别是谁?
- `NaN`可以使用`isNaN()`来判断
- isNaN(要判断的值或变量);
```js
var a = NaN;
console.log(isNaN(a));
```
- `undefined`可以使用`typeof`判断
- typeof 要判断的值或变量
```js
var b = undefined;
console.log( (typeof b) === "undefined" );
```
- `null`需要配合`typeof`和关系运算符判断
- typeof 要判断的值或变量 === "object"
```js
var c = null;
console.log( (typeof c) === "object" );
```
- 还需要( && )
- 要判断的值或变量 == null
```js
console.log(c === null); if的小括号里面也会发生隐式类型转换规则
- 规则:其他转布尔
- 数值转布尔:非0为true,0为false
- 字符转布尔:非空字符,为true,空字符,为false
- 对象转布尔:对象为true
- 数组转布尔:数组为true
- 函数转布尔:函数为true
- 特殊数据转布尔:undefined,NaN,null都为false
`switch`:多分支
- 语法:
```js
var n = 2;
var msg = "";
switch(Number(n)){
case 0:
msg = "星期日";
break;
case 1:
msg = "星期一";
break;
...
default:
msg = "你输入的数字不对,请输入0~6之间的数字";
}
console.log(msg);
```
- 规则:
- 当要判断的值是固定的数据时,选择使用switch
- 如果要判断的值是范围时,选择使用if-else - switch的case判断,不存在隐式类型转换
- 某些情况下,需要根据场景,选择是否需要主动转换
标签:语句,判断,undefined,NaN,typeof,4.22,null,true,分支 来源: https://www.cnblogs.com/xiaokeai233/p/12757565.html