日常开发中,我们写代码时的";",是不是觉着无关紧要.全凭个人习惯呢?
之前,有人告诉我,是效率的问题.(可能有这个原因)计算机在执行我们代码的时候,是把我们能看懂的代码转换成了计算机可以看懂的代码;也就是常说的打包,那么常用的打包工具有webpack.那我们就从webpack打包工具聊起,学过webpack的同学都知道,webpack打包流程是基于一个bundle.js文件:
- 通过对入口文件
entry的分析,获取到一个抽象语法树然后根据抽象语法树可以拿到(需要使用babel的一些依赖)依赖文件和文件代码. - 之后再
递归依赖文件,拿到所有的代码对象; - 通过一个代码生成的函数处理拿到的代码对象,让他转换一个计算机能识别的函数;
- 这个函数返回一个自执行的闭包函数
- 函数内要构建
require方法和exports对象;
代码如下(自己实现的bundle): script文件夹-代码需要node运行;
那么分号到底怎样了呢?
这里一开始是没有写分号的,执行结果如下
它会把
exports={}当做函数去执行;
加上分号后exports={};
加上分号后,计算机就可以知道你这个是赋值语句,不会跟你定义的函数关联起来了.
所以
;,尽量还是要在每一个语句的结束加上的,特别是在写这类打包代码的时候,因为这个函数返回的是一个字符串,他只能依靠你的;判断语句的结束;
个人理解,待大佬指点...