js自动类型转换
- 1.==符号在判断左右两边数据是否相等时,如果数据类型一致,直接比较值即可
- 2.==符号左右数据类型不一致时,如果两方数据为布尔型、数值型、字符串型时,不为数字的那一方自动调用Number()方法
- 3.undefined和null这两者互相相等,及自身也相等,除此之外和谁都不想等
- 4.NaN比较特殊,他和自己都不相等
- 5.当数值型、字符串型、布尔型和对象进行比较时,对象调用toString()方法得到一个字符串
- 6.对象和对象进行比较时,直接比较内存地址
- 7.任何对象加!强制转false
参考函数:
转换为数值类型:Number(mix)
– 如果是布尔值,true和false分别被转换为1和0
– 如果是数字值,返回本身。
– 如果是null,返回0.
– 如果是undefined,返回NaN。
– 如果是字符串,遵循以下规则:
• 如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
• 如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
• 如果是空字符串,将其转换为0
• 如果字符串中包含非以上格式,则将其转换为NaN ‘ssd2342df’
• 转换为字符串类型:String(mix)
– 如果是null,返回”null”
– 如果是undefined,返回”undefined”
• 转换为布尔类型:Boolean(mix)
– 以下值会被转换为false:false、””、0、NaN、null、undefined,其余任何值都会
被转换为true