作者:The_Fuck_566 | 来源:互联网 | 2023-10-10 12:55
Node.js很是火爆,前段待遇好的飞起。。。。
于是我决定....
重头开始学习Javascript
有些比较特别的,或者之前我们注意到,再或者容易出错
东西我会记录下来。
可选的分号
和其他许多编程语言一样,Javascript 使用分号(;)将语句分隔开的。这对增强代码的可读性和整洁性非常重要。
缺少分割符,一条语句的结束就成了下一跳语句的开始,反之亦然。
在Javascript中,如果语句个独自占一行,通常可以省略语句之间的分号(程序结尾或又花括号"}"之前的分号也可以省略)。
许多JavaSritpt程序员使用分号来明确语句的解释,即使在并不完全需要分号的时候也是如此。
我也建议大家这样做。
如下代码,
a=3;
b=4;
//因为两条语句用两行书写,第一个分号是可以省略掉的
a=3;b=4;
//如果在一行,第一个分号则不能省略
需要注意的是,Javascript并不是所有的换行都要填补分号,只有缺少了分号就无法正确解析代码的时候,Javascript才会填补分号。
var a
a
=
3
console.log(a)
//Javascript将其解析为:
var a; a=3; console.log(a)
看如下的例子,
var y=x+f
(a+b).toString()
//第二行的圆括号与第一行的f 组成一个函数调用
//Javascript 会解析成
var y=x+f(a+b).toString();
而上面的代码本意却不是这样的。分号还是不要省略的好。
通常来讲,如果一条语句以 "("、"[" 、"/" 、"+" 或者 “-” 开始,那么它极有可能和前一条语句在一起解析。
以"/" 、"+" 或者 “-” 开始的语句并不常见,而以 "("、"[" 开始的语句则非常常见,至少在一些JaveScript编码风格中是很普遍的。
有些程序员喜欢保守的在语句前加上一个分号,这样哪怕之前的语句被修改了、分号被误删除了,当前语句还是会正确解析:
var x=0 //这里省略了分号
;[x,x+1,x+2].forEach(console.log)//前面的分号保证了正确的语句解析
如果当前语句和下一行语句无法合并解析,Javascript则在第一行后填补分号,这是通用的规则,但有两个例外。
第一个例外是在涉及return、break和continue语句的场景中。如果这三个关键字后紧跟着换行,Javascript则会在换行处填补分号。
例如:
return
ture;
//Javascript会解析成:
return ; true;
//而代码本意是这样的:
return true;
第二个例外是在涉及"++"和"--"运算符的时候。
这些运算符可以作为表达式的前缀,也可以当做表达式的后缀。
如果将其用作后缀表达式,他和表达式应当咋同一行。
否则,行尾将填补分号,同事""++或"--"将会作为下一行代码的前缀操作符并与之以前解析。
例如:
x
++
y
//这段代码解析为" x;++y"而不是 "x++;y"
最后还是提醒大家 使用分号来明确语句的解释,即使在并不完全需要分号的时候也是如此。
如果你觉得有点用处还请推荐一下。