js-自动类型转换
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