一、字面量
- 字面量(literal)是用于表达一个固定值的表示法,又叫常量。
- 通俗的理解,字面就是所见即所得,js程序执行到代码中的字面量,会立即知道它是什么类型的数据,值是多少。
- 可以用于表示固定值,比如:数字、字符串、undefined、布尔类型的字面值等
- 数值字面量:8, 9, 10
- 字符串字面量: “大前端”
- 布尔字面量:true,false
二、数字字面量
- 这里的数字就是数学意义上的数字。
- 数字字面量区分:整数字面量、浮点数字面量(小数)、特殊值。
- 书写时直接书写字面量,不需要添加任何辅助符号
2.1整数
整数字面量写法区分进制。
整数可以被表示成十进制(基数为10)、八进制(基数为8)以及十六进制(基数为16)。
十进制是最基本的数值字面量格式,可以直接在代码中输入。
八进制字面值必须带前导0、0O、0o 。八进制整数只能包括数字0-7。
十六进制的前缀是0x或0X。后面可以包含数字(0-9)和字母af或AF。
在进行算术计算时或者参与程序,所有八进制和十六进制的数字都会被转换成十进制。
2.2整数的进制
十进制:逢十进一,每个位数只能是0-9之间的数字。
八进制:逢八进一,每个位数上只能是0-7之间的数字,而且必须添加前缀,0、0O、0o。
十六进制:逢十六进一,每个位数上必须是0-9、a-f之间的符号,必须写前缀,0x、0X开头。
2.3特殊整数
特殊的:八进制中,如果以0开头,每个位数上有超过0-7之间的数字出现,也就是8/9,强制忽视前面的0,直接将后面数字当做十进制。
2.4整数示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>js字面量进制</title>
</head>
<body>
<script>
// 10进制:我们输入的阿拉伯数字,不管是整的还是负数,都是10进制
console.log(10);//10
console.log(-10);//-10
//8进制:前面带有0前缀的,或者0O,0o都是8进制,0后面是8以下的数字,
//不包括8,如果是8,那么就认为是十进制,结果就是8
// 01234 解析:0表示8进制前缀,1表示512*1 2表示64*2 3表示8*3 4表示1*4
//顺序从个位最后一个数开始算,1 8 64 512 每多一个数字就乘以8
console.log(01);//1 10进制
console.log(001);//1 10进制
console.log(0010);//8 8*1+1*0
console.log(0O10);//8 8*1+1*0
console.log(0o100);//64 64*1+8*0+1*0
console.log(0100);//64 64*1+8*0+1*0
console.log(01000);//512 512*1+64*0+8*0+1*0
console.log(01111);//585 512*1+64*1+8*1+1*1
console.log(0800);//800 800十进制
console.log(0756);//494 64*7+8*5+1*6
//16进制
console.log(0x1);//1
console.log(0x10);//16 16*1+1*0
console.log(0x100);//256 256*1+16*0+1*0
console.log(0X110);//272 256*1+16*1+1*0
//前缀
console.log(089);//89 十进制,不是8进制,因为超过了8
//console.log(0o89);//未捕获的SyntaxError:无效或意外的标记,因为
//字母o后面的数字是8,不符合8进制,所以报错
console.log(0x89);//137 16*8+1*9
console.log(0x899); //2201 256*8+16*9+1*9
console.log(001100);//576 512*1+64*1+8*0+1*0
</script>
</body>
</html>
2.5浮点数
就是数学概念中的小数。
包含:整数、小数点、小数部分。
浮点数不区分进制,所有的浮点数都是十进制下的数字。 • 注意:如果浮点数是大于0 小于1的,可以省略小数点前面的0不写。
浮点数的精度问题:浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数 • 例如:0.1 + 0.2; 结果不是 0.3,而是:0.30000000000000004。
2.6浮点数示例
<script>
//浮点数字面量
console.log(1.23);//1.23
console.log(-1.23);//-1.23
console.log(0.618);//0.618
console.log(.618);//0.618
console.log(1.2e4);//12000
console.log(1.2e-4);//0.00012
//浮点数精度问题
console.log(0.1+0.2);//0.30000000000000004
</script>
2.7Infinity 无穷
- Infinity:无穷的意思。数学符号是:倒的数字8 即为:∞。
- 由于计算机计算能力有限,如果高于最大计算值直接显示为正无穷 Infinity,如果低于最小 计算值直接显示为 -Infinity。
- Infinity 本身就是一个数字
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity 无穷小:-Infinity
<script>
//infinity无穷
console.log(Number.MIN_VALUE);//5e-324
console.log(Number.MAX_VALUE);//1.7976931348623157e+308
console.log(-5e789);//-Infinity
console.log(5e789);//Infinity
console.log(Infinity);//Infinity
console.log(-Infinity);//-Infinity
</script>
2.8NaN
- NaN:not a number表示不是一个正常的数,但是还是一个 Number 类型的数字。这个数字 没办法用前面的表示方法表示。
- NaN 与任何值都不相等,包括他本身。
- isNaN(): 判断一个数据是不是一个NaN。
<script>
//NaN示例
console.log(0/0);//NaN
console.log(23);//23
console.log(isNaN(0/0));//true true的情况说明它确实是NaN
console.log(isNaN(23));//false false的情况说明它不是一个NaN
</script>
2.9字符串字面量
- 字符串是由任意个数的有序或无序的字符组成的串,类似人类的语言,在 JS 中有自己特殊 的写法。
- 组成:字母、汉字、特殊符号、空白等。
- 字符串字面量写法:是用一对单引号(’ ')或双引号(“ ”)及引号内的字符构成,引号中间 的字符可以有任意多个,也可以是没有字符的空字符串。 • 注意:字符串中如果字符包含了双引号,则其外部应该由单引号标示,反之相同。
2.10转义符号 \
- 字符串中,有一些特殊功能的字符不能直接书写,还有一些特殊效果不能直接书写。
- 这时,可以使用转义符 \ 对这些字符进行转义。
- 在字符串中可以使用转义符 \ 加普通字母,替代一些特殊字符 \n 换行 \t Tab制表
- 字符串中可以使用转义符 \ 将特殊功能字符变为普通字符。 ’ 单引号 " 双引号 \ 反斜杠
2.11字符串字面量和转移符号\ 示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>js字符串字面量</title>
</head>
<body>
<script>
// 双引号文字字符串,文字内容必须用字符串类型
console.log("田根旺");
//双引号字母字符串,字母内容必须用字符串类型
console.log("abc");
//单引号字符串,字符串的字体颜色是黑色
console.log('18');
//不加引号的数字是普通数字,字体颜色是蓝色
console.log(18);
//模板字符串
console.log(`田根旺`);
//空白双引号字符串
console.log(" ");
//空白单引号字符串
console.log(' ');
//空白模板字符串
console.log(` `);
//双引号空字符串
console.log("");
//单引号空字符串
console.log('');
//模板空字符串
console.log(``);
//引号嵌套写法,外面是双引号,里面是单引号,否则报错。
console.log("床前'明月光',疑是地上霜。");
//引号嵌套写法,外面是单引号,里面是双引号,否则报错。
console.log('床前"明月光",疑是地上霜。');
//转义字符,换行,手动换行会报错,要使用转移字符换行。
console.log("床前明月光,\n疑是地上霜。");
//转义字符,tab键制表,不要按键盘的tab键,要使用转义字符。
console.log("\t床前明月光,\n疑是地上霜。");
//引号嵌套,转义字符写法1
console.log("举头望明月,低头\"思故乡\"。");
//引号嵌套,转移字符写法2
console.log('举头望明月,低头\'思故乡\'。');
//转义字符,反斜杠,示例:地址
console.log("E:\web\js_demo");//E:webjs_demo 打印输出结果
console.log("E:\\web\\js_demo");//E:\web\js_demo 打印输出结果
</script>
</body>
</html>
————————————————
版权声明:本文为CSDN博主「泽哥ins」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36213140/article/details/122202772