The website need JavaScript

FiveWoods

生而为人 不必抱歉

平凡之路

原创

typeof 那些事
  1. Number类型 -> 'number' (Nan也是一个数字类型 也是会返回number)
  2. String类型 -> 'string'
  3. Boolean类型 -> 'boolean'
  4. Object 、数组 、null -> 'object'
  5. Function -> 'function'
  6. 声明未赋值 / 变量未定义 -> 'undefined'
数值转换那些事

三个函数可以将非数值转换为数字:Number()parseInt()parseFloat()Number() 可以用于任何数据类型,另外两个函数则用于字符串转换成数值。

  1. Number()的转换规则 ( + 的转换规则和Number是一样的):

    1. Boolean : true false 转换成 1 和 0。
    2. Number :原样输出 (NaN也是原样输出)。
    3. null :0
    4. undefined :NaN。
    5. 字符串
      1. 如果字符串只包含数字,前导 0 被忽略 ( '123' -> 123 , '012' -> 12 )。
      2. 如果字符串包含有效的浮点数,转换成对应的浮点数值 ( '1.1' -> 1.1 )。
      3. 空字符串 则转换成0。
      4. 字符串的其他情况全都转换成NaN。
    6. 对象:首先调用对象的valueOf()方法,依照前面的规则返回转换的值,如果转换的结果是NaN值,则调用对象的toString()方法,同样依照前面的规则返回转换的值。
                  
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Number(true); // 1 Number(1); // 1 Number(null); // 0 Number(undefined); // NaN Number('123'); // 123 Number('1.1'); // 1.1 Number(''); // 0 Number('other'); // NaN let a = '5'; a = +a; // 5
  1. parseInt()

    1. 它会忽略字符串前面的空格,找到第一个非空格字符。
    2. 如果字符串第一个不是数字字符或是负号,则返回NaN。
    3. 空字符串返回NaN
    4. 如果第一个字符是数字字符,会继续进行解析,直到碰到非数字字符或解析完成。
    5. parseInt(字符串,基数) 基数表示按照什么进制进行解析。(2,8,10,16 二进制 八进制 十进制 十六进制)。
                  
    • 1
    • 2
    • 3
    • 4
    • 5
    parseInt(' 5'); // 5 parseInt('red1234'); // NaN parsetInt(''); //NaN parseInt('1234red'); // 1234 parseInt('AF',16); // 十六进制 75
  2. parseFloat()

    1. parseInt()类似,解析浮点数字时,第一个小数点是有效的,第二小数点就无效,因此后面的字符串将被忽略。
    2. 如果字符串中包含一个可以解析成整数的数,则会返回证书。
    3. 十六进制的字符串始终转换成0,只能解析十进制的数值。
                  
    • 1
    • 2
    • 3
    • 4
    • 5
    parseFloat('1234.56red'); // 1234.56 parseFloat('12.12.1234.00'); // 12.12 parseFloat('2.0'); // 2 parseFloat('1.1e2'); // 1.1 * 10 * 1 = 110 parseFloat('0xA'); // 0
  • 431 人围观
  • 0 人讨论
  • 分享
  • 3 人觉得很赞

文章作者:

世人i

发布时间:

2019-06-19

相关标签:

  • JavaScript
  • 那点小事
  • 学习

本文描述:

typeof 数值转换中的一些知识点

快来抢沙发...

最新

最热

听君说一曲