一般『条件』是由逻辑表达式组成,比如:
但是除了这种常规的条件判断之外,还有一些非常规的,比如:
这种判断『变量』的方式,具体表达什么含义呢?如何使用?以下几种场景,具体分析 :
==是比较两个值是否相等,相同类型直接比较,不同类型的话,看情况转换。
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、字符串非空串(“”)/空串("")