字面量
- 字面量(literal)是用于表达一个固定值的表示法,又叫常量。
- 通俗的理解,字面就是所见即所得,js 程序执行到代码中的字面量,会立即知道它是什么类型的数据,值是多少。
- 可以用于表示固定值,比如:数字、字符串、undefined、布尔类型的字面值等
例如:
- 数值字面量:8, 9, 10
- 字符串字面量: “大前端”
- 布尔字面量:true,false
数字字面量
- 这里的数字就是数学意义上的数字。
- 数字字面量区分:整数字面量、浮点数字面量(小数)、特殊值。
- 书写时直接书写字面量,不需要添加任何辅助符号。
整数
- 整数字面量写法区分进制。
- 整数可以被表示成十进制(基数为10)、八进制(基数为8)以及十六进制(基数为16)。
- 十进制是最基本的数值字面量格式,可以直接在代码中输入。
- 八进制字面值必须带前导0、0O、0o 。八进制整数只能包括数字0-7(特殊的:八进制中,如果以0开头,每个位数上有超过0-7之间的数字出现,也就是8/9,强制忽视前面的0,直接将后面数字当做十进制;如果以0O或0o开头则会报错,16进制也相同)。
- 十六进制的前缀是0x或0X。后面可以包含数字(0-9)和字母af或AF。
- 在进行算术计算时或者参与程序,所有八进制和十六进制的数字都会被转换成十进制。
整数的进制
- 十进制:逢十进一,每个位数只能是0-9之间的数字。
- 八进制:逢八进一,每个位数上只能是0-7之间的数字,而且必须添加前缀,0、0O、0o。
- 十六进制:逢十六进一,每个位数上必须是0-9、a-f之间的符号,必须写前缀,0x、0X开头。
浮点数
- 就是数学概念中的小数。
- 包含:整数、小数点、小数部分。
- 浮点数不区分进制,所有的浮点数都是十进制下的数字。
- 注意:如果浮点数是大于0 小于1的,可以省略小数点前面的0不写。
浮点数的精度问题
- 浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数
- 例如:0.1 + 0.2; 结果不是 0.3,而是:0.30000000000000004
Infinity 无穷
- Infinity:无穷的意思。
- 由于计算机计算能力有限,如果高于最大计算值直接显示为正无穷 Infinity,如果低于最小计算值直接显示为 -Infinity。
- Infinity 本身就是一个数字。
- 最小值:Number.MIN_VALUE,这个值为: 5e-324
- 最大值:Number.MAX_VALUE,这个值为:1.7976931348623157e+308
- 无穷大:Infinity
- 无穷小:-Infinity
NaN
- NaN:not a number表示不是一个正常的数,但是还是一个 Number 类型的数字。这个数字没办法用前面的表示方法表示。
- NaN 与任何值都不相等,包括他本身。
- isNaN(): 判断一个数据是不是一个NaN。
字符串字面量
- 字符串是由任意个数的有序或无序的字符组成的串,类似人类的语言,在 JS 中有自己特殊的写法。
- 组成:字母、汉字、特殊符号、空白等。
- 字符串字面量写法:是用一对单引号(’ ')或双引号(" ")及引号内的字符构成,引号中间的字符可以有任意多个,也可以是没有字符的空字符串。
- 注意:字符串中如果字符包含了双引号,则其外部应该由单引号标示,反之相同。
转义符号 \
- 字符串中,有一些特殊功能的字符不能直接书写,还有一些特殊效果不能直接书写。
- 这时,可以使用转义符 \ 对这些字符进行转义。
- 在字符串中可以使用转义符 \ 加普通字母,替代一些特殊字符
- \n 换行
- \t Tab制表
- 字符串中可以使用转义符 \ 将特殊功能字符变为普通字符。
- \’ 单引号
- \" 双引号
- \\ 反斜杠