大部分情况你不加分号也不会导致错误,但是代码的可读性就会变差,比如你一行表达式写得特别长,想分成两行,前面那行末尾没有分号,第一眼看上去让人很难分辨是不是一行已经结束了。

再举个会导致错误的例子

var a = function (param) {

console.log(param)

return function(){console.log("return function")}

}; // 这里不加分号就会导致非预期的执行结果

(function() {

console.log("anonymous function!")

})()

注释的地方如果加了分号, 那么上面是一个函数声明,下面是一个匿名立即执行函数,执行结果是打印"anonymous function!"

如果不加分号,实际执行的时候将会变成

var a = function (param) {

console.log(param)

return function(){console.log("return function")}

}(function() {

console.log("anonymous function!")

})()

第二个匿名函数就变成了第一个匿名函数的参数,被完整地打印出来,然后返回的函数也被末尾的"()"调用执行,打印出"return function"

所以为了避免各种不必要的麻烦,最好还是都写上分号,但也不是所有行末都要加分号的

JS里面有个东西叫做Semicolon Insertion,你可以理解为解释器会按照一定规则自动帮你在适当的位置补充分号,这个规则会告诉你哪些地方该有,哪些地方不该有分号

尽管如此,按照这个规则书写的代码才可以被称之为是『优雅的』 ^.^

js replace 中文分号_关于js分号的问题?相关推荐

  1. jsx怎么往js里传参数_给js文件传参数(详解)

    一.利用全局变量 这是最简单的一种方式,比如Google Adsense: 缺点是引入了全局变量.其中引入文件的方式还有两个变体: // 变体1:用document.write输出 document. ...

  2. js 模拟点击_爬虫js逆向之无限debugger--抖音第三方数据分析平台的坑

    爬虫js逆向系列 我会把做爬虫过程中,遇到的所有js逆向的问题分类展示出来,以现象,解决思路,以及代码实现,这三方面解析,供大家参考爬虫认知 在程序猿所有的方向中,爬虫是离money最近的一个方向,你 ...

  3. js replace 中文分号_在JS中用Replace 全部替换字符

    类型:电子教程大小:3.3M语言:中文 评分:2.8 标签: 立即下载 在JS中常用的替换字符串是用 Replace函数,我们先来看一下 Replace函数的用法 replace 方法 返回根据正则表 ...

  4. js java 中文乱码_编码问题(.java/.jsp/.js等文件的中文乱码)

    乱码的出现是因为编码与解码的不一致造成的,假如你对"中文"两个字进行了gbk格式的保存,却用utf-8格式的解读,是肯定会出现乱码的. 如何避免中文乱码:应用上下统一用一种编码格式 ...

  5. java web网站 js 简体繁体切换_通过JS实现网站繁体简体互换

    //网页简繁体转换//本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示//在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功能可关闭//本程序只在UT ...

  6. js控制鼠标移动_原生JS封装可拖拽效果

    项目代码已上传码云:小朋友/JavaScript 封装可拖拽特效 访问该URL可查看效果:http://is666a.gitee.io/javascript_drag/ https://www.zhi ...

  7. vue如何使用原生js写动画效果_原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  8. js encodeurl java接收_在JS中encodeURI(url)怎样才能不出现乱码?

    这次给大家带来在JS中encodeURI(url)怎样才能不出现乱码?,在JS中使用encodeURI(url)的注意事项有哪些,下面就是实战案例,一起来看一下. 一般情况下, 发送 encodeUR ...

  9. mysql 代替分号_除了使用分号(;)终止符之外,还有其他可执行MySQL查询的内置命令吗?...

    借助以下内置命令,即使不使用分号(;)终止符,MySQL也可以执行查询. 自我 我们可以通过使用\ G选项来使用此命令.这意味着将当前语句发送到要执行的服务器,并以垂直格式显示结果.当我们使用\ G并 ...

  10. js 时间加减_【JS】550 简单几步让你的 JS 写得更漂亮

    作者:会编程的银猪 http://www.renfed.com/2017/04/29/effective-js-optimize/ 网上有不少关于 JS 编写优化建议,这里我根据自己的经验提出一些比较 ...

最新文章

  1. 深入聊一聊 Spring AOP 实现机制
  2. Unity3d Http Get请求
  3. Delphi编程技术简介
  4. shell python比较_shell中的条件判断以及与python中的对比
  5. 网络测试工具—— iperf2详细使用方法
  6. GIS应用技巧之制作土地利用转移矩阵表
  7. 用Kali进行ARP断网攻击
  8. Delphi中ComPort通信中的数据处理
  9. 小论电阻1(电阻的参数)
  10. matplotlib 柱状图画误差棒
  11. java例题:判断所输入的年月日是这一年的第多少天
  12. 重磅!《阿里聚安全 2016 年报》正式发布!
  13. github下载速度太慢linux,GitHub 下载速度慢?国内 GitHub 加速方法分享
  14. python数据透视表计数去除重复_如何用Python实现数据透视表?解除你对透视表的疑惑!...
  15. 【好文导读】人工智能和机器学习富有启迪的文章2020
  16. 程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,本人已部分修改...
  17. java为什么内存会无限增大_Java进程的内存无限增长,但是MemoryMXBean报告稳定堆和非堆大小...
  18. bookshelf app android,bookshelf app安卓
  19. 国内芯片产业发展进入深水期,“从无到有”的任务已经顺利完成
  20. Nevercenter CameraBag Pro for mac(照片滤镜工具)

热门文章

  1. 简单线性相关案例-求相关系数
  2. Educoder 二维码名片制作
  3. 企业微信-付款到员工零钱
  4. Docker快速入门-腾讯云
  5. Ubuntu桌面图标无法打开终端的解决过程
  6. html中 DPlayer 播放m3u8文件【方式二】
  7. OPNsense用户手册-高可用性和硬件故障转移
  8. android系统锁屏锁怎么解决方法,安卓手机忘记锁屏密码解决方法【图文详解】...
  9. 在 Word 2013 中编写公式并标号
  10. Flink流计算编程--watermark(水位线)简介