1、从字符串值转换为数值函数
一般咱们使用函数来进行转换好比Number()、parseInt()、parseFloat()spa
可是咱们要注意Number()若是解析包含非数字的字符串时会返回NaN。而parseInt()和parseFloat()会忽略数字之外的其余字符。若是字符串中只有非数字的字符或者是参数不合理那么返回NaN。code
除了使用相关的函数,咱们还可使用隐式转换。好比使用运算符“-”、“*”、“/”,值得注意的是“+”做为单目运算符时能够隐式转换(参数不合理时返回NaN),可是双目运算符时为字符串链接符。对象
若是返回值时NaN的话,如何判断? 能够经过函数isNaN(n)来判断。 blog
2、从数值转换为字符串字符串
显示的方法是n.toString()或String(n)class
隐式的方法是利用双目运算符“+”object
3、转换为布尔型数据类型
显示转换Boolean(),可是咱们一般使用隐式转换。方法
隐式转换中如下值将会被转换为false: 数值0、数值NaN、null值、undefined值、空字符串''
比较巧妙的方法是利用“!”进行双重否认。如: !!5
应该注意的是若是咱们使用Object类型的时候必定要当心,即便是空对象,返回值也是true。
4、从Object类型转换为基本数据类型
转换为字符串: String(obj) 即 obj.toString() "[object Object]"。使用隐式 +'' 的方式也是这样。
转换为数值: Number(obj)即obj.valueOf() 若没法转换,则 +(obj.toString())
转换为布尔型: Boolean(obj) 返回的老是true
undefined值: NaN 返回'undefined'
5、从基本类型转换为Object类型
字符串型--》String对象、数值型--》Number对象、布尔型--》Boolean对象、null值--》Error对象、undefined值--》Error对象