JS里的数据类型转换

JavaScript一共有7中数据类型:简单数据类型:number,string,boolean,underfine,null,以及ES6 新加的symbol和复杂数据类型object。

symbol这里暂时不做探讨,null和undefined如果需要用到直接var a = null/var a = undefined 更方便,所以平时我们经常用到的是number,string,Boolean,object这些类型的转换。

  1.任意类型转number 

  1)Number(),直接转化,eg : Number('12345')    //12345;

  2)parseInt(),整数转化,eg : parseInt(1.23) // 1  浮点数转整数; parseInt('123')  // 123  字符串转整数; parseInt('1s2')  // 1  此函数会在解析遇到的第一个非数字停止解析;

parseInt('ss111') // NaN 直接碰见无法解析的字符串会返回NaN;    还有parseInt(‘011’,8)  // 9 ; parseInt('011',10)  // 11  后面的10和8表示10进制还是8进制

  3)parseFloat(),小数转化, eg: parseFloat('1.23') // 1.23

  4)Any-0,你想转化的类型-0就可以转化为对应的整数,eg: 's'-0 // NaN ;  '123'-0 // 123

  5) + 加号可以把类型转化为number,eg: + ‘123’ // 123 ; +ture // 1 

  2.任意类型转string

  1)String()  直接String(123) //'123'  ; String(true) //'true' ;  var a={}   String(a) // [object Object]

  2).toString   一般不这么来用

  3)‘’+Any  前面加个空字符可以方便转化

  3.任意类型转Boolean

  1)Boolean() 可以转化为Boolean类型, eg: Boolean(1) // true 

  2)!!+ Any 可以用两个叹号加任意类型字符串转化为Boolean类型,

  这里主要记住5个falsy值 0,NaN,'',null,undefined 这5个会转化为false,其他的都会转为true。

我们常用的就是这些,关于object类型,当你生成一个object,会在Heap里面分配一块内存,然后把内存的地址放到stack里面,所以object对应的stack里面实际是一串地址,当你给object转化为一个简单数据类型时,实际上是没有意义的。

posted @ 2018-09-26 19:09  triplewoodsaid  阅读(125)  评论(0编辑  收藏  举报