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操作xml
Nov 04 Javascript
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
jquery获取焦点和失去焦点事件代码
Apr 21 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
javascript针对cookie的基本操作实例详解
Nov 30 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
Jan 19 Javascript
jQuery.Form上传文件操作
Feb 05 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
Bootstrap输入框组件简单实现代码
Mar 06 Javascript
Easyui和zTree两种方式分别实现树形下拉框
Aug 04 Javascript
javaScript中的空值和假值
Dec 18 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 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正则表达式详解
2016/01/04 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
一些Python中的二维数组的操作方法
2015/05/02 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
HTML的form表单和django的form表单
2019/07/25 Python
python创建学生成绩管理系统
2019/11/22 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
python反扒机制的5种解决方法
2021/02/06 Python
python装饰器代码深入讲解
2021/03/01 Python
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
本科毕业自我鉴定
2014/03/20 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
妇女干部培训方案
2014/05/12 职场文书
群众路线调研报告范文
2014/11/03 职场文书
教师求职自荐信
2015/03/26 职场文书
2015年会计个人工作总结
2015/04/02 职场文书