强制类型转换
- 指将一个数据类型强制转换为其他的数据类型
- 数据类型主要指,将其他的数据类型转换为String Number Boolean
将其他的数据类型转换为String
- 调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回;Null,Undefined这两个值没有toString()方法
- 调用String()函数,将被转换的数据作为参数传递给函数,使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用toString()方法,当时对于Null和Undefined,就不会调用toString()方法,它会将null直接转换为"null",将undefined直接转换为"undefined"
将其他数据类型转换为Number
- 调用Number()函数转换为Number类型,如果是纯数字的字符串,则直接转换为数字;如果字符串中有非数字的内容,则转换为NaN;如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
- true 转成 1,false 转成 0
- null 转成 0
- undefined 转成 NaN
- 调用parseInt() 把一个字符串转换为一个整数,可以将一个字符串中有效的整数内容取出来
- 调用parseFloat() 把一个字符串转换为一个浮点数,可以将一个字符串中有效的小数内容取出来
将其他数据类型转换为Boolean
- 调用Boolean()函数,数字中除了0,NaN,其余都是true
- 字符串中除了空串,其余都是true
- null,undefined都是false
- 对象也会转换为true
- 为任意数据类型做两次非运算,即可将其转换为布尔值