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對象