JavaScript关于分号的问题

来源:互联网 发布:女朋友水多 体验 知乎 编辑:程序博客网 时间:2024/04/29 23:21

JavaScript

一般在比较懒的前台程序员中经常会碰到一些莫名其妙的问题。

今天仅讨论一下在JS中经常会碰到一些关于分号的问题。JavaScript这门语言是可以省略分号的,是因为它会换行符后如果缺少分号就会无法编译时它会默认添加上分号,但是在一些特定情况下他是不会默认添加分号的。现在简单介绍一下需要注意的几个地方。


在这种情况时:

var x = 0
[x+1,x+2,x+3].forEach(function(){
console.log(x)

})

这种情况下会导致程序无法正常运行。JavaScript在解析这段代码是并不会在var x = 0后换行。

在写代码时如果以一条语句以 ”(”  ,"[" ,"+" ,"-"  ,"/"  开始时通常在上一条语句不会默认添加分号的。所以在这种情况下尽量保持一下这种写法,在以这些字符开始时在行首添加一个分号,这样可以保证在别人更改上面代码时不加分号也不会影响以下代码运行。

var x = 0
;[x+1,x+2,x+3].forEach(function(){
console.log(x)

}) 





还有就是在涉及 return   break   continue  这种语句时尽量不要换行

return 

true;

JavaScript会解析为

return; true;



在涉及    ++    和    --   这一系列运算时  在作为表达式的前缀或后缀时在换行是会有一定的问题,如下情况:

var x = 0;

var y = 0;

x

++

y

JavaScript会解析为

x;++y;      而不是    x++;y;



虽然在JavaScript这门语言中  “;”  是可以省略不写的,但是还是建议大家每句代码后都跟上  “;”  养成这种良好的编码习惯,毕竟在大多语言中不带  “;”  的编码适不适用的。 


如有误解,请在以下评论更正。



感谢观看

4 0