JavaScript的数据类型分为两类
原始类型: number, string, boolean, null, undefined
对象类型: Function, Array, Date ……
一. ‘+’号和’-‘号
var x='The answer is ' + 42 // "The answer is 42"
"37" + 7 //377 number转换成string
"37" -7 //30 string转换成number
巧用+/-规则转换类型
比如:
1. number转换成字符串
37 + "" //"37"
2. 字符串转换成数字
"37" - 0 // 37
二、等于 ==
"1.23" == 1.23 // true
0 == false // true
null == undefined // true
new Object() == new Object() //false
[1,2] == [1,2] // false
类型相同,同===
类型不同,尝试类型转换和比较:
null == undefined // true
number == string // string转number
boolean == ? // 不论?是什么类型,先把boolean转换成number, true转换为1, false转换为0
object == number|string // 尝试对象转为基本类型
三、严格等于 ==
a === b
类型不同,返回false
类型相同:
null === null
undefined === undefined
NaN ≠ NaN
new Object ≠ new Object