在进行javascript学习过程中发现一些教程部分语句末尾并没有分号,有些疑惑。原来JavaScript 允许在很多情况下省略分号
JavaScript允许在以下情况下省略分号:
- 在
return
语句后
function func(){
return 0//省略分号
}
- 在
throw
语句后
throw new Error('failed')//省略分号
- 在代码块的末尾:当代码块(函数、条件语句、循环或者对象字面量)的末尾是一个
}
时,分号可以省略
const person = {
name: 'Alice',
age: 30
}//可省略分号
- 在
break
和continue
语句后
for(let i=0;i<5;i++){
if(i === 2){
break//省略分号
}
if(i === 4){
continue//省略分号
}
}
总之,为避免歧义和错误代码块后都最好加上分号,例如定义函数、条件语句、循环或者对象字面量时的代码块末尾,以及不以{}
结尾的语句。