node.js到底要不要加分号浅析


Posted in Javascript onJuly 11, 2018

前言

一开始,关于在node.js句末不加分号,我是拒绝的。因为有时不加分号会报错。

我觉得node.js在语法层面挺拧巴的,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。而node.js却表现出一副欲拒还迎的姿态,让人感觉就是既要拥抱变化,又要抱残守缺。

node.js到底要不要加分号浅析

加不加分号,这是一个问题

直到有一天我了解了加不加分号的场景,才终于释然

一言以蔽之:当代码是以 ( [ ` 这些符号开头时,就需要在代码之前加上分号,其他场景都不需要加分号
let msg = '加不加分号呢'

(function () {
 console.log('我是一个匿名函数')
}())

结果报错:

我是一个匿名函数
/Users/airmb/code/node/01/04.js:3
(function () {
^

TypeError: "加不加分号呢" is not a function
    at Object.<anonymous> (/Users/airmb/code/node/01/04.js:3:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3

正确的写法:

let msg = '加不加分号呢'

;(function () {
 console.log('我是一个匿名函数')
}())

同理,以 [ 或 ` 开头的代码应该这么写:

;['章北海', '罗辑'].forEach(function (item) {
 console.log(item)
})

;`
宇宙中究竟有多少个文明?
高级文明会怎么对待地球?
是友善地相处?
还是残忍地消灭?
或者只是安静地观察?
`.toString()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
自动生成文章摘要的代码[JavaScript 版本]
Mar 20 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
JavaScript Sort 表格排序
Oct 31 Javascript
jquery获得同源iframe内body下标签的值的方法
Sep 25 Javascript
javascript实现列表切换效果
May 02 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
EasyUI创建对话框的两种方式
Aug 23 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
使用p5.js临摹动态图形
Oct 23 Javascript
js实现烟花特效
Mar 02 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 #Javascript
Vue如何实现响应式系统
Jul 11 #Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 #Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 #Javascript
vue使用中的内存泄漏【推荐】
Jul 10 #Javascript
Vue脚手架的简单使用实例
Jul 10 #Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 #Javascript
You might like
jQuery 源码分析笔记
2011/05/25 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
JS中三目运算符和if else的区别分析与示例
2014/11/21 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Python中shape计算矩阵的方法示例
2017/04/21 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
python交互界面的退出方法
2019/02/16 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
如何用Python徒手写线性回归
2021/01/25 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
社区包粽子活动方案
2014/01/21 职场文书
文科生自我鉴定
2014/02/15 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python