• Number 数据类型转化 NaN 函数isNaN


    Number

    console.log(1 / 0); /*js中可以使用0做分母,但是结果是 Infinity(无穷数字)*/
    console.log(-1 / 0); //就是负无穷
    
    var a = 0.1 + 0.2;
    console.log(a); //0.30000000000000004
    console.log(a == .3); //返回false 不要这样做比较
    
    var nu = '下' - 5;
    console.log(nu, typeof nu);// NaN "number" nu为NaN不是一个数字,做的减法运算本来想得到一个数字但是没办法转化为一个数字,智能返回一个NaN,但是NaN的数据类型是number;

    - 特殊 NaN

    1.跟谁都不相等,包括它自己 
    2.只要有NaN参与的运算结果都是NaN
    3.NaN的typeof返回的是number
    var nu = '下' - 5;
            console.log(nu + 5); //NaN
            console.log(NaN == NaN); //false
    
            /*
            1.跟谁都不相等,包括它自己
            2.只要有NaN参与的运算结果都是NaN
            3.NaN的typeof返回的是number
      */

     isNaN

       判断一个数(变量)是不是 不是一个数字 若果是返回false ,如说不是一个数字返回true

       isNaN本身不判断,它的内部用Number()方进行判断,如果Number能成功转化成数字,就返回false,否则就返回true

    console.log(isNaN('10')); // false
    console.log(isNaN('10px')); // true
    console.log(isNaN('')); // false
    console.log(isNaN('  ')); // false
    console.log(isNaN(NaN)); // true
    
    console.log(isNaN(true)); // false
    console.log(isNaN(false)); // false
    console.log(isNaN(null)); // false
    console.log(isNaN(undefined)); // true

    Number的强制数据类型转换 

    三种 :Number() parentInt() parentFloat()

      1. Number() 作用 : 可以将任何变量转化为数字,不会改变原来的数据类型。只有能转成功或不能转成功之分,转成功就是数字,转不成功就是NaN。

    // 1、字符串如果全是数字(包括小数点)转成数字;如果有不是数字的,转成NaN,空字符串和空格转成0
    // 2、true转成1, false转成0
    // 3、数字简单的返回
    // 4、null转成0
    // 5、undefined转成NaN
    // 6、对象一般返回NaN,一般不用来转对象
    
    var a = '10';
    var b = Number(a);
    console.log(b, typeof b); // 10 'number'
    console.log(a, typeof a);
    
    console.log(Number('12px')); // NaN
    console.log(Number('')); // 0
    console.log(Number('     ')); // 0
    
    console.log(Number(10)); // 10
    
    console.log(Number(true)); // 1
    console.log(Number(false)); // 0
    console.log(Number(null)); // 0
    console.log(Number(undefined)); // NaN
    
    console.log(Number({})); // NaN
    console.log(Number([1, 2, 3])); // NaN
    2、parseInt和parseFloat
    • parseInt(变量); 转整数,parseInt还有第二个参数进制,一般加上这个进制,防止浏览器的误判

    • parseFloat(变量); 转小数,没有第二个参数。认别一个小数点 (无第二个参数)

    • 规则:从左向右,一位一位的看,如果是数字,提出来,如果不是数字,到此为止

    console.log(Number('12.34万')); // NaN
    
    console.log(parseInt('12.34万')); // 12
    console.log(parseInt('34ab56')); // 34
    console.log(parseInt('a34ab56')); // NaN
    console.log(parseInt('    34ab56')); // 34
    
    console.log(parseFloat('12.34万')); // 12.34
    console.log(parseFloat('12.3.4万')); // 12.3
    
    // ----------------------------
    console.log(parseInt('070', 10)); // 70
  • 相关阅读:
    windows 系统配置(二)MongoDB
    The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "".
    【读书笔记】C#高级编程 第十三章 异步编程
    【读书笔记】C#高级编程 第十二章 动态语言扩展
    【读书笔记】C#高级编程 第十一章 LINQ
    【读书笔记】C#高级编程 第十章 集合
    【读书笔记】C#高级编程 第九章 字符串和正则表达式
    【读书笔记】C#高级编程 第八章 委托、lambda表达式和事件
    【读书笔记】C#高级编程 第七章 运算符和类型强制转换
    【读书笔记】C#高级编程 第六章 数组
  • 原文地址:https://www.cnblogs.com/ximenchuifa/p/13392373.html
Copyright © 2020-2023  润新知