概念
字面量是用于表达一个固定值的表示法,又叫做常量。
通俗的理解,字面就是所见所得,js程序执行到代码中的字面量,会立即知道他是什么类型的数据,值是多少。
可以用于表示固定值,比如:数字、字符串、undefined、布尔类型的字面值等。
数字字面量
这里的数字指的就是数学中的数字。
数字字面量又区分:整数字面量、浮点数字面量、特殊值。
书写是直接书写字面量,不需要添加任何辅助符号。
整数字面量
整数字面量的书写区分进制。
整数可以表示为十进制、八进制、十六进制。
-
十进制: 是最基本的数值字面量格式,可以直接在代码中输入。
-
八进制: 字面值必须带头前导0、0O、0o。八进制整数只能包括整数0-7。
八进制转十进制:整体顺序、小数点不变,个位乘8的0次方+十位乘8的1次方...=十进制得数,即可。小数部分从左到右乘8的负一次方开始,以此类推。 -
十六进制: 前缀是0x或0X。后面可以包含数字0-9和字母a-f或A-F。
在进行算数计算时或参与程序时,所有吧进制和十六进制的数字都会被转换成十进制。
浮点数
指的就是数学中的小数。
浮点数不区分进制,所有的浮点数都是十进制下的数字。
浮点数在程序中存在精度问题。 浮点数最高精度是17位小数。
特殊字面量
- infinity:无穷的意思。
由于计算机计算能力有限,如果高于最大计算值时显示无穷infinity,如果低于最小计算值时显示-infinity。
infinity 本身是一个数字。
console.log(Number.MIN_VALUE); // 计算机最小计算值 5e-324
console.log(Number.MAX_VALUE); // 计算机最大计算值 1.7976931348623157e+308
console.log(Infinity); // 无穷大
console.log(-Infinity); // 无穷小
- NaN
NaN:not a number表示不是一个正常的数,但还是一个number类型的数字。
NaN 与任何值都不相等,包括它本身。
isNaN():判断一个数据是不是一个NaN。
字符串
字符串是由任一个数的有序或无序的字符组成的串,类似人类的语言,在js中有自己特殊的写法。
组成:字母、数字、字符、空白等。
字符串书写格式: 字符串由英文的单引号或双引号包裹。 引号中间的字符可以是任意个数,也可以是空的。
如果字符串内容中包含双引号,字符串应该由单引号包裹。反之同理。
转义符号 " \ "
字符串中,有一些特殊功能的字符不能直接书写,还有一些特殊效果不能直接书写。
这时,可以使用转义符 \ 对这些字符进行转义。
在字符串中可以使用转义符 \ 加普通字母,替代一些特殊字符
\n 换行
\t Tab制表(Tab键,首行缩进)
字符串中可以使用转义符 \ 将特殊功能字符变为普通字符。
\' 单引号
\" 双引号
\\ 反斜杠