JavaScript字面量

一、字面量

  • 字面量(literal)是用于表达一个固定值的表示法,又叫常量。
  • 通俗的理解,字面就是所见即所得,js程序执行到代码中的字面量,会立即知道它是什么类型的数据,值是多少。
  • 可以用于表示固定值,比如:数字、字符串、undefined、布尔类型的字面值等
  • 数值字面量:8, 9, 10
  • 字符串字面量: “大前端”
  • 布尔字面量:true,false

二、数字字面量

  1. 这里的数字就是数学意义上的数字。
  2. 数字字面量区分:整数字面量、浮点数字面量(小数)、特殊值。
  3. 书写时直接书写字面量,不需要添加任何辅助符号

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值