美文网首页
《JavaScript权威指南》读书笔记1 可选的分号

《JavaScript权威指南》读书笔记1 可选的分号

作者: lidroid本人 | 来源:发表于2017-02-06 00:46 被阅读0次

绝大多数编程语言以分号结束一条语句,但在JavaScript中除非你多条语句写在同一行必须用分号隔开,否则分号是可选的。JavaScript在无法正确解析代码的时候会自动填补分号,如:

var a
a
=
3
console.log(a)

JavaScript会将其解析为:var a;a=3;console.log(a)

但是自动填补分号有很多例外情况,可能并不会如你想像般工作,比如下面的情况:

var y=x+f
(a+b).toString()

JavaScript会看做:var y=x+f(a+b).toString();,这明显不是你想像的:var y=x+f;(a+b).toString();

再看下面一种情况:

return
true

JavaScript会看做:return;true;,也不是你想像中的:return true;

下面的代码段也是出人意料的:

x
++
y

JavaScript会看做:x;++y;,而不是:x++;y;

总结如下

  1. 如果一条语句以“(”、“[”、“/”、“+”或“-”开始,那么它极有可能和前一条语句合在一起解析。
  2. 在return、break和continue和随后的表达式之间不能有换行。
  3. 涉及“++”和“--”运算符的时候,可以作为表达式的前缀,也可以当做表达式的后缀。如果将其用做后缀表达式,它和表达式应当在同一行。否则,行尾将填补分号,同时“++”或“--”将会作为下一行代码的前缀操作符并与之一起解析。

对于99%的人来说,这些知识都是无用的,因为很少会有人不写分号,但是如果我们不幸遇到了此类代码(希望我们永远都不会遇到),这些知识有利于我们读懂它们。

相关文章

  • 《JavaScript权威指南》读书笔记1 可选的分号

    绝大多数编程语言以分号结束一条语句,但在JavaScript中除非你多条语句写在同一行必须用分号隔开,否则分号是可...

  • javaScript 基础

    初学JavaScript基础 ASI 自动分号插入(ASI)的目标是使分号对行结束来来说是可选的。引入自动分号插入...

  • http常用的方法以及get与post之间的区别

    参考资料《http权威指南》、《高性能JavaScript》 1. http常用的方法 在《http权威指南》中罗...

  • JavaScript(一)基本语法

    JavaScript语法基础 词法规则 1、区分大小写2、忽略空白符和换行符3、可选的分号,半角分号(;)表示一个...

  • 自己收集一些前端电子书

    nodejs开发指南中文 精通CSS CSS揭秘 JavaScript权威指南 JavaScript面向对象指南 ...

  • JavaScript 基础

    概览 可选的分号: JavaScript并不是在所有换行处都填补分号;只有在缺少了分号就无法正确解析代码的时候,J...

  • Javascript权威指南(1)

    JS区分大小写,HTML不区分大小写,在HTML中标签和属性名可大写可小写。 回车符和换行符解析为单行结束符。 J...

  • javascript 语言核心-可选的分号

    javascript也是使用;将语句分割开,有几种情况可以将;省略。 1.如果javascript语句独占一行2....

  • JavaScript 语句行尾的可选分号

    JavaScript 和其他许多编程语言一样,使用分号(;)将语句分隔开。这对增强代码的可读性和整洁性是非常重要的...

  • 2016 读书清单

    技术类javascript权威指南 (未完成)javascript语言精粹(?)javascript设计模式(未完...

网友评论

      本文标题:《JavaScript权威指南》读书笔记1 可选的分号

      本文链接:https://www.haomeiwen.com/subject/rotsittx.html