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

 

时间: 2024-10-15 02:17:14

03_数字的字面量的相关文章

Swift编程语言学习——数值型字面量、数值类型转换

数值型字面量 整数字面量可以被写作: 一个十进制数,没有前缀 一个二进制数,前缀是0b 一个八进制数,前缀是0o 一个十六进制数,前缀是0x 下面的所有整数字面量的十进制值都是17: let decimalInteger = 17 let binaryInteger = 0b10001 // 二进制的17 let octalInteger = 0o21 // 八进制的17 let hexadecimalInteger = 0x11 // 十六进制的17 浮点字面量可以是十进制(没有前缀)或者是十

JavaScript字面量

JavaScript字面量(literal)又称直接量,在JavaScript代码中用来表示一个固定的值,它可以理解为“代码文字表面上的意义的常量”.它是仅表示“自己”意义的一个实例. 譬如 var a=1; 这段声明变量的语法中1就是数字字面量,表示数字1. 字面量可分为数字字面量.字符串字面量.数组字面量.表达式字面量.对象字面量.函数字面量. 数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e). 3.14 1001 123e5 字符串(String)字面量 是使用单引号

Swift语言指南(五)--数字字面量和数字类型转换

数字字面量 整数字面量写法如下: · 十进制数,无前缀 · 二进制数,以 0b 为前缀 · 八进制数,以 0o 为前缀 · 十六进制数,以 0x 为前缀 下面所有整数的十进制值为 17 : 1 let decimalInteger = 17 2 let binaryInteger = 0b10001 // 17 二进制标识 3 let octalInteger = 0o21 // 17 八进制标识 4 let hexadecimalInteger = 0x11 // 17 十六进制标识 浮点数字

字符串字面量和逐字字符串面量

1.无后缀的实数字面量是double类型,不是float类型! 2.与c/c++不同,在c#中数字不具有布尔意义. 3.int x=5;if(x)...//x是int类型不是布尔类型. 4.委托是引用类型因此两个委托也可以进行比较,如果两个委托都是null, 或者两者的调用列表中有相同数目的成员,并且调用列表相匹配,那么比较 返回true;

c++11: 用户定义字面量

c++11带来了很多新特性,其中用户定义字面量就是一个. 注:该特性vs2013不支持, vs2014和gcc4.9支持.这里推荐一个在线的c++编译网站,用来测试一些代码还是蛮有用的,并且它支持超多的语言像python.lua等都支持.网址在这里 http://ideone.com/ 先看下面的代码: #include <iostream> using namespace std; struct Color { int r, g, b; }; //定义的字面量转换函数 //在gcc编译器下注

Javascript正则构造函数与正则表达字面量&amp;&amp;常用正则表达式

本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达式: 使用new RegExp()构造函数 使用正则表达字面量 先说结果,使用正则表达字面量的效率更高. 下面的示例代码演示了两种可用于创建正则表达式以匹配反斜杠的方法: 1 //正则表达字面量 2 var re = /\\/gm; 3 4 //正则构造函数 5 var reg = new RegE

js基础知识:字面量 关键字和保留字

js中的字面量概念我的理解就是:字体表面的常量 如:数字 100, 字符串  "ssss"或'ssss'  布尔值:false ,正则 以及null对象. 这些都是常量. 关键字:是已经使用的字 保留字:是没有使用已经保留起来未来用 具体有哪些,请自行上网上去查. var tet ; alert(tet); 这个例子的结果是:tet is undifine . 标示声明意思呢?? 意思就是说.tet 这个变量已经声明了,但是没有被赋予初始值.所以在以后调试的时候 再出现这样的结果,表明

Javascript——对象字面量常用写法以及规则

对象字面量 对象字面值是封闭在花括号对({})中的一个对象的零个或多个"属性名-值"对的(元素)列表.你不能在一条语句的开头就使用对象字面值,这将导致错误或产生超出预料的行为, 因为此时左花括号({)会被认为是一个语句块的起始符号. 以下是一个对象字面值的例子.对象car的第一个元素(译注:即一个属性/值对)定义了属性myCar:第二个元素,属性getCar,引用了一个函数(即CarTypes("Honda")):第三个元素,属性special,使用了一个已有的变量

Predicate Format String Syntax 与字面量

字面量: 字符串:单引号或双引号扩起来: %@:系统自动添加,数字则自动去除@(): 无单双引号,系统做数字处理. Single or double quoting variables (or substitution variable strings) cause %@, %K, or $variable to be interpreted as a literal in the format string and so prevent any substitution. 系统自动添加   d