JavaScript 语句行尾的可选分号

   JavaScript 中,如果语句各自独占一行,通常可以省略语句之间的分号。
  1. JavaScript 并不是在所有换行处都填补分号:只有在缺少了分号就无法正确解析代码的时候,JavaScript 才会填补分号。
    例子:
var x = y + foo
(a+b).toString()

解析为:


var x = y + foo(a+b).toString();  // 第二行的圆括号和第一行的 foo组成了函数调用

如果当前语句和下一行语句无法合并解析,JavaScript 则在第一行后填补分号,但有两个例外:
①在涉及return、break和continue语句的场景中。如果这三个关键字后紧跟着换行,JavaScript 则会在换行处填补分号。例如:

return
true;

解析为:

return; true;

做个小题(答案在结尾)
在这里插入图片描述

②在涉及“++”和“–”运算符的时候,如果将其用作后缀表达式,它和表达式应该在同一行。否则,行尾将填补分号,同时“++”或“–”将会作为下一行代码的前缀操作符并与之一起解析。例如:


x

++

y

这段代码将解析为x; ++y,而不是x++; y。
2. 如果一条语句以(、[、/、+或-开始,那么它极有可能和前一条语句合在一起解析。
以“/”、“+”和“-”开始的语句并不常见,而以“(”和“[”开始的语句则非常常见。所以一些保守的程序员为保守起见,喜欢在语句前加上一个分号以保证程序的正确执行。例如:

var x = 0   // 这里省略了分号
;[x, x+1, x+2].forEach(console.log) // 前面的分号保证了正确地语句解析

答案:C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值