资讯专栏INFORMATION COLUMN

JavaScript分号的省略

Mike617 / 2961人阅读

摘要:规则三循环及空循环体的不能省略分号如最后我想说的是分号的省略与否完全是个人的编码风格,所以初学者不必死钻牛角尖,弄清楚原理才是最重要的。

传统的编程语言中分号是不可省略的,但在看JavaScript代码时,新手常常会发现很多知名的大牛们都省略了分号,为什么会这样呢?其实是因为JavaScript的自动插入分号技术,大多数情况下分号是可以省略的,下面说说自动插入分号的规则。

规则一:JavaScript仅在“}”后、一行结束时以及一段程序结束处自动添加分号

如下面一组代码:

function right(x) { x++; return x }

function wrong(x) {x++ return x}
规则二:JavaScript仅在下一行第一个字符无法解析时自动添加分号

若第二行为(、[、+、-或/开头时,JavaScript不会自动添加分号,如

a=b
(f(n))

就相当于

a=b(f(n))

这一点在多个JavaScript文件合并时尤为要注意,假设两个主体为立即执行函数的JavaScript文件合并:

(function() {
  ...
})()
;(function() {
  ...
})()

这种情况下分号不能省略,原理同上,但一般自动化工具会在此处添加分号。

规则三:for循环及空循环体的while不能省略分号
如 while(true);

最后我想说的是分号的省略与否完全是个人的编码风格,所以JS初学者不必死钻牛角尖,弄清楚原理才是最重要的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83826.html

相关文章

  • JavaScript分号

    摘要:许多程序员包括本书中的示例代码使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此。为了能让上述代码解析为两条不同的语句,必须手动填写行尾的显式分号。第一个例外是在涉及和语句的场景中。 和其他许多编程语言一样,JavaScript使用分号(;)将语句分隔 开。这对增强代码的可读性和整洁性是非常重要的:缺少分隔符,一条语句的结束 就成了下一条语句的开始,反之亦然。在Java...

    DTeam 评论0 收藏0
  • javascript时要不要省略分号

    摘要:自动填补分号的规则在说要不要写分号之前,先了解一下自动填补分号的规则。后来看到知乎上的作者尤雨溪和前端大神贺师俊的回答后,我对写分号的想法完全颠覆了。总是写分号并不能完全解决缺陷如后换行会自动插入分号。 在打算写这篇文章之前,我是一个分号党,在写这篇文章之后,可能会转为无分号党了。之前是写分号是编辑器语法较检所养成的强迫症,现在观念的转变,是因为看了不少大神的讨论后,觉得javascr...

    wupengyu 评论0 收藏0
  • 【知识点】Javascript分号规则

    摘要:花点时间搞清楚中的分号规则吧不管你喜欢结尾带分号或省略分号的模式分号允许的场景分号一般允许出现在大部分语句的末尾,比如等栗子仅有一个分号可以表示空语句在中合法,比如可解析为三个空语句空语句可用于辅助产生语法合法的解析结果,如如果没有末尾的 花点时间搞清楚JS中的分号规则吧~~~不管你喜欢结尾带分号或省略分号的模式 分号允许的场景 分号一般允许出现在大部分语句(statement)的末尾...

    kun_jian 评论0 收藏0
  • JavaScript ASI 机制详解

    摘要:最近在清理的未读列表,看到了才知道了的,一种自动插入分号的机制。这种行为被叫做自动插入分号,简称。不过在省略分号的风格中,这种解析特性会导致一些意外情况。规则标准定义的包括三条规则和两条例外。规则一情况三就是为量身定做的。 TL;DR 最近在清理 Pocket 的未读列表,看到了 An Open Letter to JavaScript Leaders Regarding Semico...

    frontoldman 评论0 收藏0
  • JavaScript分号自动插入

    摘要:中分号自动插入转译自链接描述在中,分号自动插入机制允许在一行代码结尾省略分号。比如分号自动插入规则分号插入只是一个术语。如果在这些位置遇到换行了,分号将被插入。 JavaScript中分号自动插入 转译自:链接描述在JavaScript中,分号自动插入机制允许在一行代码结尾省略分号。你应该养成一直书写分号的习惯,与此同时掌握JavaScript分号省略处理机制是十分重要的。因为这不仅有...

    dadong 评论0 收藏0

发表评论

0条评论

Mike617

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<