zoukankan      html  css  js  c++  java
  • 范仁义js课程---8、js数据类型之Number类型

    范仁义js课程---8、js数据类型之Number类型

    一、总结

    一句话总结:

    在JS中所有的数值都是Number类型,包括整数和浮点数(小数),比如var num=15.6;

    1、123和'123'的区别是什么?

    123是Number类型,'123'是字符串类型

    2、js中如何查看一个变量的类型?

    用typeof运算符:console.log(typeof a)

    3、js中的NaN是什么?

    NaN 是一个特殊的数字,表示Not A Number,使用typeof检查一个NaN也会返回number,我们使用两个字符串相乘可以得到NaN,比如'abc'*'bcd'

    二、Number

    博客对应课程的视频位置:8、js数据类型之Number类型
    https://www.fanrenyi.com/video/19/89

    1、Number类型介绍

    在JS中所有的数值都是Number类型,包括整数和浮点数(小数)

    2、123和'123'的区别

    3、typeof运算符

    可以使用一个运算符typeof
    来检查一个变量的类型
    语法:typeof变量

    console.log(typeof a)

    检查字符串时,会返回string
    检查数值时,会返回number

    4、Number的最大值

    JS中可以表示的数字的最大值
    Number.MAX_VALUE
    1.7976931348623157e+308

    Number.MAX_VALUE*Number.MAX_VALUE
    如果使用Number表示的数字超过了最大值,则会返回个Infinity表示正无穷

    a=Infinity; console.log(typeof a);

    Infinity表示正无穷
    -Infinity 表示负无穷
    使用typeof检查Infinity也会返回Number
    NaN 是一个特殊的数字,表示Not A Number
    使用typeof检查一个NaN也会返回number

    比如 var a='abc'*'bcd';


    5、科学计数法

    科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数。e右边的数字如果是负数,则向左移动小数点。例如1.2345678e2 = 123.45678


    6、精度

    在js中整数的运算基本可以保证精确
    如果使用js进行浮点运算,可能得到一个不精确的结果
    所以千万不要使用JS进行对精确度要求比较高的运算
    var num=0.1+0.2;

    就像10进制中无法准确表示1/3,二进制中无法准确表示1/10,而计算机只认识二进制,而且能表示的位数有限,所以这样10进制->2进制->10进制的过程中会出现误差

    为什么浮点数计算,会得到一个不精确的值

    用脑子,10进制整数转2进制是除2,10进制小数转2进制是靠乘2取1

    三、课程代码

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>js数据类型之Number类型</title>
     6 </head>
     7 <body>
     8 <!--
     9 Number 数字
    10 整数和小数(浮点数)
    11 
    12 科学计数法
    13 1.7e+3 =1.7*10^3=1700
    14 1.7e-3 =1.7*10^(-3)=1.7*0.001
    15 
    16 常量
    17 Number.MAX_VALUE  表示的是js中的最大的数
    18 1.7976931348623157e+308
    19 常量我们一般用全大写表示
    20 Number.MIN_VALUE 最小数
    21 
    22 Infinity 无限大
    23 -Infinity
    24 
    25 js的小数做计算的时候,可能会出现不精确的情况
    26 原因是什么:10进制里面,1/3是没有办法被准确的表示的,0.333333
    27 2机制里面,1/10也没有办法被准确表示,是一个无限循环小数
    28 
    29 解决方式:可以把小数先全部转化为整数,计算之后再转化为小数
    30 
    31 
    32 
    33 -->
    34 <script>
    35     var num1=234;
    36     console.log(num1);
    37     console.log(typeof num1);
    38     var num2=12.3;
    39     console.log(num2);
    40     console.log(typeof num2);
    41     var num3='12.3';
    42     console.log(num3);
    43     console.log(typeof num3);
    44 
    45     var num4=Number.MAX_VALUE;
    46     console.log(num4);
    47     console.log(typeof num4);
    48     var num5=Number.MIN_VALUE;
    49     console.log(num5);
    50     console.log(typeof num5);
    51 
    52     var num6=Number.MAX_VALUE*Number.MAX_VALUE;
    53     console.log(num6);
    54     console.log(typeof num6);
    55 
    56     var num7=-Infinity;
    57     console.log(num7);
    58     console.log(typeof num7);
    59 
    60     var num8=0.11+0.1;
    61     console.log(num8);
    62     console.log(typeof num8);
    63 
    64 </script>
    65 </body>
    66 </html>
     
  • 相关阅读:
    MySQL性能优化
    mysql中OPTIMIZE TABLE的作用
    Linux中/usr与/var目录详解
    Mysql之EXPLAIN显示using filesort
    MySQL ALTER语法的运用方法 && 操作索引和字段
    NoSQL数据库的分布式算法&&memcache集群的实现
    linux用户权限
    hdoj1241 Oil Deposits
    ny42 一笔画问题
    ny20 吝啬的国度
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12324674.html
Copyright © 2011-2022 走看看