JavaScript 语句后应该加分号么?

JavaScript012

JavaScript 语句后应该加分号么?,第1张

分号加与不加完全取决于个人习惯,但为了代码稳定(解析出错)还是建议使用分号断句。

JavaScript自动加分号规则:

1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。

2.当有}时,如果缺少分号,会补分号。

3.当程序源代码结束时,如果缺少分号,会补分号。

结论:

1.在return、break、continue、后自增、后自减五种语句中,换行符可以完全替代分号的作用。

2.var if do while for continue break return with switch throw try debugger几种关键字开头的语句,以及空语句,上一行加不加分号影响不大。

3.凡表达式语句和函数表达式语句,后面不加分号非常危险,情况极其复杂。

4.凡(和[开头的语句,前面不加分号极度危险。

一条语句代表着一条javascript命令,通常以分号()结尾。因此,javascript的分号()是用于分隔语句的符号。

可将分号“”省略的几种情形:

(1)语句各自独占一行,通常可以省略结尾的分号

(2)程序结束或者右花括号(})之前的分号也可以省略

javascript懒汉原则:不添加分号“”就可以顺利解析的语句,不会主动添加分号()再进行解析。javascript只有在缺少分号就无法正确解析代码的时候,javascript才会填补分号。

语句各自独占一行,通常可以省略结尾的分号。

a=3

b=4

那么a=3后面的可以省略

a=3 b=4

那么a=3后面的分号不能省略

例外情形:第一个例外是在涉及return、break和continue语句的场景中,如果这三个关键字后面紧跟着换行,javascript则会在换行处填补分号。

第二个例外是在涉及“++”和“--”运算符的时候,这些运算符可以作为表达式的前缀,也可以当做表达式的后缀。如果将其用做后缀表达式,它和表达式应该在同一行。否则,行尾将填补分号,同时“++”或“--”姜维作为下一行代码的前缀操作符,并与之一起解析。

我在我的博客也会分享一些基础的前端知识,喜欢的话可以去逛逛:弹幕猴子

要不要加分号,关键看前后的两条语句会不会产生混淆,由于有大括号的存在,JavaScript会自动认为前面的if语句已结束,所以后面加不加分号对程序都不会有任何影响的。

分号并不是必须存在的东西,现在流行的做法都是不加分号的,比如微信小程序中的js代码,其官方开发者工具都是不给语句自动加分号的。当然,每条语句必须是分行的。

唯有一种情况是必须加分号的,那就是多条语句放在同一行的时候,每条语句的后面就要加分号,这时候分号的作用就相当于回车换行符。但是,正如你题目中所说的,如果语句的最后是大括号,则也不需要加分号,因为右大括号也同时具有分号的作用了。