Js语句后加不加分号;

时间: 2019-07-12阅读: 27标签: 语句

问题

前一阵子猛然想到一个问题,JS有分号自动补全(ASI)机制,在写JS时我是习惯性在语句后面加上分号,在块语句后面不加分号。那么如果没有加分号的话,在什么情况下会出现问题?在JS语句后到底是应该加分号还是不加分号?


解决问题

面对这个问题,我来了兴趣。于是在网上查了一些资料。关于加不加分号的问题,知乎上一些回答这个问题的大佬普遍意见是,喜欢就好。嗯,很直接。
关于不加分号容易产生问题的地方,我在看了多个地方的贴子总结了一下,基本就三个地方出现问题比较多:
1)如果下一行的第一个token是 ( , [ , / , + , - 这五个字符之一的话, Javascript 将不会自动在上一行句尾加上分号。所以,当下一行的第一个token是以上字符时,应当在上一行或者行首加上分号
2)continue、return、break、throw后自动插入分号。所以当 return 出一个值,千万不要将那个值与 return 不在同一行,不然返回的结果是 undefined 而不是你期望的值。
3)++ , -- 后缀表达式作为新行开始,会在行首自动插入分号,
关于我自己每回没有在块语句后面没有加分号,对于我这个强迫症来说是不是不严谨的问题,我也在一篇贴子中找到了答案, 那就是 {...} 属于块语句,而按照定义块语句是不需要分号结尾的,不管是不是在一行 , 嗯,我果然没有错。


总结

看了那么多贴子后,我感觉还是在语句后面加分号比较好,毕竟虽然麻烦一点,但是看得舒服(个人感觉),而且可以避免一些不必要的问题。


链接: http://www.fly63.com/article/detial/4658

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全