JS if 变量判断的高阶用法

JavaScript016

JS if 变量判断的高阶用法,第1张

if条件语句非常简单,如下:

一般『条件』是由逻辑表达式组成,比如:

但是除了这种常规的条件判断之外,还有一些非常规的,比如:

这种判断『变量』的方式,具体表达什么含义呢?如何使用?以下几种场景,具体分析 :

==是比较两个值是否相等,相同类型直接比较,不同类型的话,看情况转换。

String==Number --->toNumber(String)==Number

Boolean==(any) --->toNumber(Boolean)==(any)

Object==String/Number---->toPrimitive(Object)

对于 Object 类型,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果

要知道if里面的返回值是true或是false,那么只要括号里随便一个数都可以,

a=0,那么if条件就是false了

布尔值,javascript中以下值会被转换为false

false

undefined

null

0

-0

NaN

""

''

在javascript中,以下值均能作为if的条件

1、布尔变量true/false

2、数字非0,非NaN/ (0 或NaN)

3、对象非null/(null或undefined)

4、字符串非空串(“”)/空串("")