先看2段代码

1、

let a = 12;
console.log(a.toString()) //12

2、

console.log(12.toString()); //Uncaught SyntaxError: Invalid or unexpected token

这是为什么?搭眼一看都是一样的呀?是否有这个疑惑?接着往下看,下面来介绍一下:

在JavaScript 规范中规定的数字直接量可以支持四种写法:十进制,二进制整数,八进制整数和十六进制整数。

十进制的 Number 可以带小数,小数点前后部分都可以省略,但是不能同时省略,我们看几个例子:

let num1 = 1;
let num2 = .01;
let num3 = 1.01
let num4 = 1.

这都是合法的数字直接量。这里就有一个问题,也是我们标题提出的问题,我们看一段代码;

console.log(12.toString()); //Uncaught SyntaxError: Invalid or unexpected token

这时候12. 会被当做省略了小数点后面部分的数字而看成一个整体就是上图中的num4形式,所以我们要想让点单独成为一个 token,就要加入空格,这样就可以了

console.log(12 .toString()); //12

相信你看着这,应该明白原因了,具体原理请看js的编译原理

原创不易,自由转载,保留出处!

console.log(12.toString())为啥会报错呢?相关推荐

  1. 更新xcode至12.3,编译报错Building for iOS, but the linked and embedded framework ‘xxx.framework’ was buil...

    更新xcode至12.3,编译报错Building for iOS, but the linked and embedded framework 'xxx.framework' was buil... ...

  2. Android 12源码编译报错:FAILED: out/soong/build.ninja

    Android 12源码编译报错:FAILED: out/soong/build.ninja android12源码编译中报如下错误: 网上查了比较多资料发现是swap分区不够导致的,报错时使用fre ...

  3. 【达梦数据库的console工具进行备份恢复遇到报错:bakres连接DMAP失败】

    达梦数据库是我国自主研发数据库,拥有最贴切国人使用的操作.平时使用中,很多人都习惯于使用管理工具和consol工具等图形化的操作,相较于命令行操作更加易上手. DM 控制台工具是一个脱机工具,提供脱机 ...

  4. ESlint中console.log报错问题

    ESlint中console.log报错问题 由于ESlint规范化,导致console.log的使用也会报错,下面是设置允许console.log控制台输出 描述:打开 package.json 文 ...

  5. UnhandledPromiseRejectionWarning报错send()的处理

    先看报错: (node:24460) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of undef ...

  6. JS的报错处理(throw、try、catch)

    MDN throw语句用来抛出一个用户自定义的异常.当前函数的执行将被停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个catch块.如果调用者函数中没有catch块,程序将 ...

  7. Django配置uwsgi时log文件报错thunder lock: disabled (you can enable it with --thunder-lock)

    一.问题来源 使用uwsgi --ini mysite.ini命令启动后使用ps -aux | grep uwsgi命令查询uwsgi的相关进程,但是查询不到,发现只有下面一个进程,说明uwsgi启动 ...

  8. apache-apollo启动报错

    启动Apollo后,进入网页版管理中心后报错:500: Server Error https://127.0.0.1:61681/console/index.html 网页抓包 报错:{"c ...

  9. matlab 报错 保留变量,matlab中明明定义了函数变量总是报错

    matlab定义符号函数 functiony=ff(t)t=input('t=');ift>=0y=sym('1');elsey=sym('0');end matlab中如何定义函数 matla ...

  10. console.log 简写

    console.log 简写 平常代码调试总会用到console.log,但是每次写这么长也是很麻烦,就想着存一个简介一点的变量: 然后就随手写了下面代码: var a = 10;var log = ...

最新文章

  1. SCSI协议与存储的发展
  2. 人工智能如何获得知识?
  3. getElementById取得文本框中的值
  4. VBA学习笔记(一):自动添加代码VBA修改注册表
  5. boost::system::error_code相关的测试程序
  6. VTK:Points之ExtractSurfaceDemo
  7. Android开源工具库
  8. 给大家一个网站程序,fastmai网站源码
  9. SQL 已有数据的表创建标识列
  10. 20172311 2017-2018-2 《程序设计与数据结构》实验一报告
  11. linux 用户与工作组
  12. 微信打飞机思路总结 蓝懿教育
  13. 中文拼音排序(web前端实现)
  14. 使用OpenCV中的imread()内存报错问题
  15. matlab自动打卡程序,MATLAB人脸考勤打卡签到系统[摄像头界面GUI]
  16. Linux命令:ls -l(ll)结果解析
  17. tomcat启动异常之信The APR based Apache Tomcat Native library which allows optimal performance in produ
  18. lzw算法c语言程序,LZW算法压缩c语言实现
  19. 领域驱动设计战术模式:领域服务
  20. STC开天斧USB仿真

热门文章

  1. python 基础 集合
  2. Google搜索解析
  3. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
  4. Silverlight WCF RIA服务(二十九)Silverlight 客户端 10
  5. 如何改变“只收藏不阅读”的习惯
  6. Hadoop1.0之集群搭建
  7. spring-beanFactory二
  8. 2017.0713.《计算机组成原理》-汉明码
  9. ORACLE中将一个值赋值到另一个表的值
  10. java.net.bindexception: address already in use: jvm_bind:8080