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