if 和 == 判断逻辑

2018-05-20  本文已影响0人  ZombieBrandg

# 什么是if语句

if结构语句是判断一个表达式的布尔值(boolean)然后根据判断的真伪执行不同语句,true是真,false是伪。

## 基本语法结构:

```javascript

if(boolean){

语句 //true

}else{

    语句 //false

}

```

## 举个栗子:

```javascript

var a = 3

if(a > 5){

    alert("true")

}else{

    alert("false")

}

```

## 判断流程:

1. 首先变量声明了a,它的值是3。

2. 接着判断布尔值a > 5 是否为真。

3. 3 > 5那么执行alert("true")。

4. 如果如果改变a的值大于5那么会执行alert("false")

## boolean判断结果

| 类型      | 结果                            |

| --------- | ------------------------------- |

| undefined | false                          |

| null      | false                          |

| Boolean  | 直接判断                        |

| string    | ""(空字符串)为false,其他为true |

| Object    | true                            |

| Number    | +0,-0,Nan为false,其他为true  |

# 相等运算符

在编写代码过程中为什么不用`==`运算符的呢,下面简单了解一下`==`运算符。

相等运算符`x==y` 对比值时会先将x与y进行类型转换在用`===`比较。

下面让我们看看`==`运算符的判断图:

![相等运算符](https://pic4.zhimg.com/v2-56b0622eedf178434c31fafa34f7071b_b.png)

如图`[]==0 //true`很难让人理解。而且目前我也不知道在什么情况下必须使用`==`时不能用`===`来代替的。

## 严格相等运算符

下面让我们看看`===`运算符的判断图:

![严格相等运算符](https://pic1.zhimg.com/v2-a7d5eee8b2d41109a012647e8fec2d84_b.png)

严格相等运算符比较类型是否相同而不会做奇怪的类型转换在比较。

# 严格不相等运算符

如字面意思严格相等运算符`===`的另一面是严格不相等运算符`!==`,两者判断逻辑正好相反。

例如:`[] === 0 //false` `[] !== 0 //true`

上一篇 下一篇

猜你喜欢

热点阅读