a==b的判断方法
‘==’是javaScript的相等操作符,‘==’会先转换操作数然后进行比较。
转换不同的数据类型时,会遵循如下规则:
- 如果有一个操作数是布尔值,在比较之前会将其转换为数值--true转换成1,false转换成0;
- 如果一个操作数是字符串,另一个操作数是数值,会将字符串转换成数值;
- 如果一个操作数是对象,而另一个操作数不是,则会调用对象的valueOf()方法,然后进行比较。
比较时会遵循如下规则:
- null和undefined相等;
- 比较相等前,null和undefined不会转换成任何值;
- 如果有一个数是NaN,则相等操作符返回false,NaN和任何操作数都不相等,即使是和NaN自身也不相等
- 如果两个操作数都是对象,比较他们是不是指向同一个对象。如果是,返回true,否则返回false。
以下特殊情况返回true
null == undefined
false == 0
true == 1
"5" == 5
以下特殊情况返回false
NaN == NaN
undefined == 0
null == 0
if(xx)的判断方法
if语句的写法
if(condition) statement1 else statement2
其中condition可以是任何表达式,如果condition为非布尔值,javaScript会自动调用Boolean()转换函数将结果转换成布尔值。如果返回的是true,则执行stament1,否则执行statement2。
condition为以下值时,对其调用Boolean()转换函数会返回false(注:condition为NaN也会返回false):
condition = undefined
condition = null
condition = ''
condition = 0
condition为以下特殊值时,对其调用转换函数Boolean()会返回true:
condition = ' '
condition = []
condition = '0'
condition = {}