js代码代码前面的分号是什么意思?

在学习过程中看到下面这么几行代码,觉得不是很理解,为什么分号在前面,不应该是放在函数执行语句的后面?

;(async () => {await connect()
})()

在上网查找资料后,才知道这样写是出于以下原因:
避免多个JS文件合并压缩的时候防止文件之间没有;分隔导致错误。

比如存在两个文件分别是a.js和b.js***
a.js

    var plugin = true

b.js

    (function($){//dosomething})();

如果使用压缩工具之后会变成

var plugin1 = true(function($){})();

这样是会报错的TypeError: true is not a function

再比如存在两个文件c.js和d.js*
c.js**

    ( function() {} )()

d.js

    ( function() {} )()

如果使用压缩工具之后会变成

    ( function() {} )()( function() {} )()

这样就出了问题,所以为了避免这个问题,你可以在 b.js 最前面加一个分号

    ( function() {} )();( function() {} )()

参考链接

https://zhidao.baidu.com/question/428750047121231572.html

转载于:https://www.cnblogs.com/iamsmiling/p/10672270.html

js代码前面的分号是什么意思?相关推荐

  1. 祖师爷尤大说我的代码全部不加分号 | 重学JS

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 前言 在线音乐[1]戳我呀! 音乐博客源码[2]上线啦! 上篇写的想写好面向对象的代码,这篇一定要看 | 重学JS[3]提到的匿名函数提到 ...

  2. php分号的代码,JS 代码要不要加分号?

    JavaScript 中分号划分了社区.有些人无论如何都喜欢使用分号.其他人喜欢不加分号. 在使用分号多年之后,2017 年秋,我决定尝试根据需要不加分号,并且设置 Prettier 自动移除我代码中 ...

  3. java实现语法分析器_200 行 JS 代码,带你实现代码编译器

    一.前言 对于前端同学来说,编译器可能适合神奇的魔盒 ,表面普通,但常常给我们惊喜. 编译器,顾名思义,用来编译,编译什么呢?当然是编译代码咯 . 其实我们也经常接触到编译器的使用场景: React ...

  4. 如何才能优雅地书写JS代码

    第一:关于匿名函数的使用 要避免全局变量泛滥, 可以考虑使用匿名函数, 把不需要在外部访问的变量或者函数限制在一个比较小的范围内. 例如以下代码: <script> function fu ...

  5. 关于 Google 发布的 JS 代码规范

    Google为了那些还不熟悉代码规范的人发布了一个JS代码规范.其中列出了编写简洁易懂的代码所应该做的最佳实践. 代码规范并不是一种编写正确JavaScript代码的规则,而是为了保持源代码编写模式一 ...

  6. 理解Babel是如何编译JS代码的及理解抽象语法树(AST)

    Babel是如何编译JS代码的及理解抽象语法树(AST) 1. Babel的作用是?    很多浏览器目前还不支持ES6的代码,但是我们可以通过Babel将ES6的代码转译成ES5代码,让所有的浏览器 ...

  7. Babel是如何读懂JS代码的

    编者按:本文转载自安秦的知乎文章,快来一起学习吧! 概述 本文不再介绍Babel是什么也不讲怎么用,这类文章很多,我也不觉得自己能写得更好.这篇文章的关注点是另一个方面,也是很多人会好奇的事情,Bab ...

  8. 在HTML 中嵌入 JS 代码的三种方式

    一,在HTML中嵌入JS代码的第一种方式:行间事件 行间事件是指将JavaScript函数写到HTML元素中的执行事件. 1.JavaScript 是一种事件驱动型的编程语言,通常都是在发生某个事件的 ...

  9. JavaScript——关于JavaScript、在HTML中嵌入JS代码的三种方式、变量

    文章目录 JavaScript 01 关于JavaScript 1.1 JS的发展历史 1.2 JS的特性 1.3 JS的组成 1.4 JSP和JS的区别 02 在HTML中嵌入JS代码的三种方式 2 ...

  10. JS的句末分号:你可能不了解的事实

    热身环节 在讲述接下来的内容之前,话不多说,让我们先来做一道题练练手. 请思考下列 JS 语句输出结果是什么?并复制粘贴进浏览器控制台中运行验证. let foo = [[1, 2, 3], [4, ...

最新文章

  1. 甲骨文全球大会•2010•北京议程
  2. C语言两个日期比大小,C语言小程序 如何判断两个日期之差
  3. 部分博客中的代码已放到了GitHub上,欢迎大家下载阅读!
  4. 每天一道LeetCode-----最长回文子串/序列,从头开始的最长回文子串长度
  5. LeetCode刷题实战(2):Add Two Numbers
  6. pythonweb管理电脑_Python远程控制局域网计算机网络远程控制软件Python的开发,python,电脑,web...
  7. 小米获京东自营安卓平板销量冠军 小米平板5 Pro全版本降100元
  8. CentOS 7操作系统中设置系统时间/时区的方法
  9. php dp0,DOS批处理中%cd%与%~dp0的区别详解
  10. stm32采集交流电压信号_基于STM32的多路电压采集的设计与实现
  11. 告别公告_我告别freeCodeCamp
  12. idea 和tomcat 中文乱码问题
  13. Excel的复合条饼图制作
  14. 美团无人配送部总经理夏华夏演讲:从技术细节看美团架构
  15. AR入门之动画的制作与导入
  16. oracle资产中fa_deprn_summary存储内容,关于FA的YTD Deprn的一个问题
  17. IPv6基础介绍--IPv6路由基础--DHCPv6原理与配置——总结
  18. ps 帧动画 也说 gif 动图
  19. c语言出现了语法错误能编译吗,如何调试C程序的语法错误和逻辑错误
  20. 《孩子快抓紧妈妈的手》--为地震遇难的孩子们而作

热门文章

  1. 费式序列(斐波那契数列)
  2. Sprint 敏捷开发
  3. mac操作系统如何访问共享计算机,windows电脑怎么访问苹果电脑共享文件夹
  4. 移动设备管理与OMA DM 协议 V5(1)
  5. Mac 移动硬盘没有推出,再插上不显示移动硬盘解决办法
  6. SCI论文重复率与降重
  7. 杰理之录音详细流程框图【篇】
  8. word文档输入带勾的复选框
  9. 用arcgis批量裁剪栅格(tiff)数据的矩形区域
  10. java编程300例:5.通过用户输入,友好打招呼