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 相关文章推荐
js Html结构转字符串形式显示代码
Nov 15 Javascript
js 3种归并操作的实例代码
Oct 30 Javascript
JS验证邮件地址格式方法小结
Dec 01 Javascript
解读Bootstrap v4 sass设计
May 29 Javascript
javascript简易画板开发
Apr 12 Javascript
常用的js方法合集
Mar 10 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
解决vue项目打包后提示图片文件路径错误的问题
Jul 04 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 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
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
如何在PHP中生成随机数
2020/06/04 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
js实现常用排序算法
2016/08/09 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
loading动画特效小结
2017/01/22 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
vue检测对象和数组的变化分析
2018/06/30 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Django模板Templates使用方法详解
2019/07/19 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
简历自我评价怎么写好呢?
2014/01/04 职场文书
syb养殖创业计划书
2014/01/09 职场文书
第二课堂活动总结
2014/05/07 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书