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 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
Sep 15 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
jQuery中:contains选择器用法实例
Dec 30 Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
js实现年月日表单三级联动
Apr 17 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
vue element-ui table表格滚动加载方法
Mar 02 Javascript
JS实现数组删除指定元素功能示例
Jun 05 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
消息持续发送的完整例子
2006/10/09 PHP
js 目录列举函数
2008/11/06 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Python如何实现动态数组
2019/11/02 Python
详解python破解zip文件密码的方法
2020/01/13 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
经典C++面试题一
2016/11/06 面试题
普通党员个人剖析材料
2014/10/08 职场文书
2014年标准化工作总结
2014/12/17 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
党性修养心得体会2016
2016/01/21 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js