js语句的分号问题

ASI机制

  • js拥有自动分号插入的机制(Auto Semicolon Insertion)
  • 该机制以换行为基础,尽量将新行并入当前行,当符合规则时将新行视为独立的语句

ASI规则

  • 新行并入当前行,出现语法问题时,插入分号
if(1 < 10) a = 1
console.log(a)
// 等价于
if(1 < 10) a = 1;
console.log(a);
  • return,break,continue,throw后,插入分号
return
{a: 1}
// 等价于
return;
{a: 1};
  • 代码块最有一个语句,插入分号
function(){ a = 1 }
// 等价于
function(){ a = 1; }

不符合ASI规则

  • 新行以特殊符号开头,如(、[、四则运算符和%、逗号句号等
  • 通常不会以此类符号作为语句开头,因此一般情况下可以省略分号
发布了135 篇原创文章 · 获赞 0 · 访问量 3085

猜你喜欢

转载自blog.csdn.net/qq_35764106/article/details/105228127
今日推荐