javaScript中什么时候用分号;
javaScript中什么时候用分号“;”?
参考(一)译文:JavaScript分号使用指南
参考(二)《JavaScript权威指南》(第六版)P30
(1)在JavaScript中如果语句各自独占一行,通常可以省略语句之间的分号(程序结尾或右花括号“}”之前的分号也可以省略)。
(2)JavaScript并不是在所有换行处都填补分号:只有在缺少了分号就无法正确解析代码的时候,JavaScript才会填补分号。(懒惰性)
var aa=3console.log(a)
JavaScript将其解析为:
var a;a=3;console.log(a);
JavaScript给第一行换行处添加了分号,因为如果没有分号,JavaScript就无法解析代码var a a。第二个a可以当做一个语句“a;”,但JavaScript并没有给第二行结尾填补分号,因为它可以和第三行内容一起解析为“a=3;”。
依赖JavaScript的自动填补分号很可能导致一些意想不到的问题:
var y=x+f(a+b).toString()
看起来像两条独立的语句,但是第二行的圆括号和第一行的f组成一个函数调用,JavaScript会把这段代码看做:
var y=x+f(a+b).toString();
而这段代码的本意并不是这样。为了能让上述代码解析为两条不同的语句,必须手动填写行位的显式分号。
如果当前语句和下一行的语句无法合并解析,JavaScript则在第一行后填补分号,这是通用规则,但是有两个例外。
第一个例外:在涉及return、break、continue语句的场景中。如果这三个关键字后紧跟着换行,JavaScript会在换行处填补分号。
returntrue;
JavaScript会解析成
return;true;
第二个例外是涉及“++”“--”运算符的时候。这些运算符可以作为表达式的前缀,也可以当做表达式的后缀。如果将其用作后缀表达式,它和表达式应当在同一行,否则,行位将填补分号,同时“++”或“--”将会作为下一行代码的前缀操作符并与之一起解析。
x ++y
将会解析为
x;++y
而不是
x++;y
javaScript中什么时候用分号;相关推荐
- javascript 分号_让我们谈谈JavaScript中的分号
javascript 分号 要使用它们,还是不使用它们- (To use them, or not to use them-) Semicolons in JavaScript divide the ...
- 关于javascript中的(;),为可选的分号
在阅读jQuery源码的时候,发现一个小东西神出鬼没,它就是(;).因此,为确保阅读的流畅性,从JQuery中跳出来,折腾一下javascript中的语句结束分隔符(注:这自是个人理解中的称呼),下面 ...
- html分号的作用,JavaScript 中的分号(;) – JavaScript 完全手册(2018版)
注:本文为 < JavaScript 完全手册(2018版) >第14节,你可以查看该手册的完整目录. JavaScript 中的分号是可选的. 我个人偏好是我的代码中避免使用分号,但也有 ...
- JavaScript 中语句的分号及webstorm对其的设置
在 C 语言中,分号是语句结束的标志,在语句结束的地方一定要以分号结束.而 JavaScript 的分号却是可选的,若语句都各占一行,则可以省略分号.这是因为 JavaScript 中的 ASI 机制 ...
- JavaScript中分号;的使用注意
在javaScript中分号是可以选用的,解释器会在一定条件下自动补全分号. 类似于(实例一): function myFunction(a) {var num = 10 return a * num ...
- JavaScript中 for、for in、for of、forEach等使用总结
在JavaScript中,我们经常需要去循环迭代方法操作数组对象等,常见等循环方法有 for.for in.for of.forEach等. 1.for循环 for循环是最基础常见的一种循环,圆括号中 ...
- 为什么要避免使用JavaScript中的递增(“++”)和递减(“ - ”)运算符?
本文翻译自:Why avoid increment ("++") and decrement ("--") operators in JavaScript? O ...
- Javascript中的陷阱大集合【译】
参考:http://www.2cto.com/kf/201111/111203.html 昨天晚上在自己的个人技术博客上翻译了一篇有关Javascript的文章,今天想想还是把它投稿到博客园吧,大家可 ...
- 现代JavaScript中的精美图案:制冰厂
I've been working with JavaScript on and off since the late nineties. I didn't really like it at fir ...
- JavaScript中的运算符和语句
一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...
最新文章
- 最明的int和Integer的区别
- Nginx静态资源盗链的效果展示
- spring 异常捕获异常_使用Spring跟踪异常–第2部分–委托模式
- isnull mysql_mysql isnull用法讲解
- 为什么有的安卓手机会越用越卡?
- Python界面程序实例:按钮漂移,用Python小套路来撩女神
- SpringMvc表单使用
- 3.数据结构 --- 栈和队列
- Python使用matplotlib可视化模拟学生课程分数雷达图
- 最新免费纯净版PE制作工具V2.1【更新说明】
- Jmeter之接口测试流程详解
- 遥感图像预处理-大气校正
- 根据几何定义使用计算机编程求定积分的值
- IT行业里哪些岗位热门又高薪?
- 人人网相册加密密码破解
- Lab2 Defusing a Binary Bomb
- 给已经创建的容器暴漏端口 添加新的端口
- 7的整除特征 三位一截_小学数学竞赛七、数的整除特征(一)
- 苹果外接屏幕鼠标移动方向问题
- 状语从句不是简单句_简单句、复合句Gloria总结