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脚本
Aug 04 Javascript
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
Feb 20 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
JavaScript原生实现观察者模式的示例
Dec 15 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
javascript关于“时间”的一次探索
Jul 24 Javascript
js实现指定时间倒计时效果
Aug 26 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
document.all与WEB标准
2020/05/13 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
理解javascript封装
2016/02/23 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python调试神器PySnooper的使用
2019/07/03 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
预备党员党课思想汇报
2014/01/13 职场文书
最新创业融资计划书
2014/01/19 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
婚育证明样本
2015/06/16 职场文书
仓库管理制度范本
2015/08/04 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle