Number,parseInt,parseFloat

Number(mix)

1.如果是布尔型,true -> 1,false -> 0;
2.如果是数字,返回本身
3.如果是null,返回0
4.如果是undefined,返回NaN
5.如果是字符字符串遵循以下规则:
1.如果字符串只包含数字,则转化为十进制
2.如果是有效的浮点数格式,则转化为浮点数
3.空字符串转化为0
4.以上之外的返回NaN
6.如果是对象,先调用valueOf(),如果为NaN,在调用toString()
  console.log(Number(false)); //  0
  console.log(Number(''));  //  0
  console.log(Number('012.5'));  // 12.5
  console.log(Number([]));   //0
  var a = {
    'valueOf':  function(){ return '123' }
  }
  console.log(a);
  console.log(Number(a));  //  123
7.如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

parseInt(string,radix)

1.radix在2~36之间,如果为0或没有,默认为10进制
2.第一个参数只接受字符串,其余返回NaN
3.从左至右尽可能转化为数字
parseInt(false) //  NaN
parseInt('40a')  //  40
parseInt('0x10')  //16
parseInt('010')  //  10或8 不确定
parseInt('11',2)  //  3
parseInt(10)  //  10

parseFloat(string)

1.非字符串返回NaN
2.从左至右,如果第一个不能解析为数字,则返回NaN,否则转化到最后一个数字
3. .1 -> 0.1
parseFloat('.1') // 0.1
parseFloat('40.9a') // 40.9

你可能感兴趣的:(Number,parseInt,parseFloat)