zoukankan      html  css  js  c++  java
  • 03_数字的字面量

    字面量 Literals

      看到什么就是什么。
      比如我们想在程序中表示一个数字,就写一个数字。
      要在程序中表示“你好”,需要加引号。
      这些书写上的规矩,叫字面量。
      下面讲解数字的字面量和字符串的字面量。
    console.log(123);
    console.log(你好); //这一行因为是字符串,没有引号,会产生错误

    数字的字面量

      数字的字面量:即数字自己。不需要其他符号。
      整数
      可以表示成十进制(基数10)、十六进制(基数16)和八进制(基数8)。
      JS中有字面量可以有三种进制。
        十进制(0到9)整数组成的数字不带前导0;
        带前导0、0O、0o都是八进制(0到7);
        带前导0x、0X都是十六进制(0到F)。
      他们显示的时候会以10进制显示。

    八进制

    console.log(15); //输出正 15
    console.log(-15); //输出负 -15
    console.log(07); //输出 7
    console.log(010); //输出 8
    console.log(036); //输出 30 , 3*8+6=30
    console.log(040); //输出 32 ,3*4+0=32
    console.log(0100); //输出 64 ,0*1+0*8+1*64=64
    console.log(0111); //输出 73 ,1*1+1*8+1*64=73
      只能有0~7这几个数字,不能有8、9。
      如果写错,会被当10进制。
      虽然以0开头,但后面的数字错了,会以10进制显示。
    console.log(088); //输出88
      但是如果是0o(零喔)或0O(零喔)开头,后面的数字写错了会报错。
      正确
    console.log(0o77); //输出88
    console.log(0O77); //输出88
      错误
    console.log(0o88); // 错误
    console.log(0O88); // 错误

    十六进制

      16进制,转10进制:0x2AF5=5×16^0+F×16^1+A×16^2+2×16^3=10997
    console.log(0xff); //255 , 15*16^0+15*16^1=255
    console.log(0x2b); //13 , 11*16^0+2*16^1=43
    console.log(0x11); //17
      如果后面有错误的写法,即报错。
    console.log(0x2m); //出错
      下面的数字都是正15
    console.log(15);
    console.log(017);
    console.log(0o17); //字母小写o
    console.log(0O17); //字母大写O
    console.log(0xf);
      下面的数字都是负15
    console.log(-15);
    console.log(-017);
    console.log(-0o17); //字母小写o
    console.log(-0O17); //字母大写O
    console.log(-0xf);

    小数

      允许使用e来表示10的几次方,
      小数可以省略前面的0。
      在计算机中,小数叫浮点数
    console.log(3.14); //3.14
    console.log(-3.14); //-3.14
    console.log(0.14); //0.14
    console.log(.14); //0.14 整数是0时可以省略
    console.log(560000); //560000
    console.log(5.6e5); //560000 ,支持指数写法。 5.6*10^5
    console.log(0.0001); //0.0001
    console.log(1e-4); //0.0001
    console.log(.1e-3); //0.0001 可以省略小数点前面的0。
      在8进制或16进制中使用小数会报错:
    console.log(03.3);
    console.log(0x3.3);

    特殊的数字字面量

      Infinity 无穷大。
      下面试图输出一个非常大的数:
    console.log(3e20); //300000000000000000000
    console.log(3e16); //30000000000000000
    console.log(3e2016); //Infinity
    console.log(-3e2016); //-Infinity 负无穷大
    //可以直接输出 Infinity
    console.log(Infinity);
    console.log(-Infinity);
      多大数字可以生成 Infinity ,因浏览器不同而不同。
      NaN 不是一个数。
      特别的是, NaN 是一个数字字面量。
    console.log(0/0); //NaN
    console.log(6/0); //Infinity
    console.log(NaN); //NaN
      有趣的现象
      Infinity+Infinity 等于 Infinity
      NaN的所有运算都是NaN
    console.log(Infinity+Infinity) //Infinity
    console.log(Infinity-Infinity) //NaN
    console.log(Infinity+-Infinity) //NaN
    console.log(NaN+NaN) //NaN
    console.log(NaN-NaN) //NaN

     

     
  • 相关阅读:
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-SENIOR SOFTWARE ENGINEER
    微软职位内部推荐-SDEII
    微软职位内部推荐-SOFTWARE ENGINEER II
    微软职位内部推荐-SOFTWARE ENGINEER II
    微软职位内部推荐-Senior SDE
    微软职位内部推荐-SDEII
    elasticsearch实现按天翻滚索引
    kafka中处理超大消息的一些处理
    Kafka主要配置
  • 原文地址:https://www.cnblogs.com/daysme/p/6192832.html
Copyright © 2011-2022 走看看