JavaScript 自动分号插入 (ASI) 的规则是什么?


JavaScript 的自动分号插入 (ASI) 用于插入缺失的分号。以下语句受自动分号插入的影响:

empty statement
var statement
expression statement
do-while statement
continue statement
break statement
return statement
 throw statement

规则如下:

  • 当从左到右解析脚本或模块时:如果遇到任何语法规则都不允许的标记,则只有在以下一个或多个条件为真时,才会在该有问题的标记之前自动插入分号:
  • 有问题的标记是 }。
  • 前一个标记是 ),并且插入的分号随后将被解析为 do-while 语句的终止分号 (13.7.2)。
  • 遇到输入标记流的末尾,因此解析器无法将输入标记流解析为一个完整的 ECMAScript 或模块,则会自动插入分号。
  • 遇到某个语法规则允许的标记,但是该规则是一个受限规则,并且该标记将成为紧跟在注释后的终端或非终端的第一个标记。

更新于:2020年6月13日

208 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.