数据类型转换

一、从字符串值转换为数值

  通常我们使用函数来进行转换比如Number()、parseInt()、parseFloat()

  但是我们要注意Number()如果解析包含非数字的字符串时会返回NaN。而parseInt()和parseFloat()会忽略数字以外的其他字符。如果字符串中只有非数字的字符或者是参数不合理那么返回NaN。

  除了使用相关的函数,我们还可以使用隐式转换。比如使用运算符“-”、“*”、“/”,值得注意的是“+”作为单目运算符时可以隐式转换(参数不合理时返回NaN),但是双目运算符时为字符串连接符。

  如果返回值时NaN的话,如何判断? 可以通过函数isNaN(n)来判断。  

二、从数值转换为字符串

  显示的方法是n.toString()或String(n)

  隐式的方法是利用双目运算符“+”

三、转换为布尔型

  显示转换Boolean(),但是我们通常使用隐式转换。

  隐式转换中以下值将会被转换为false:  数值0、数值NaN、null值、undefined值、空字符串''

  比较巧妙的方法是利用“!”进行双重否定。如:  !!5 

  应该注意的是如果我们使用Object类型的时候一定要小心,即使是空对象,返回值也是true。

 四、从Object类型转换为基本数据类型

  转换为字符串: String(obj) 即 obj.toString()     "[object Object]"。使用隐式 +'' 的方式也是这样。

  转换为数值: Number(obj)即obj.valueOf()  若无法转换,则 +(obj.toString()) 

  转换为布尔型: Boolean(obj)  返回的总是true

  undefined值:  NaN 返回'undefined'

五、从基本类型转换为Object类型

  字符串型--》String对象、数值型--》Number对象、布尔型--》Boolean对象、null值--》Error对象、undefined值--》Error对象

 

  

  

 

  

 

posted on 2015-07-10 17:50  前端—郭瑞  阅读(2202)  评论(0编辑  收藏  举报

导航