1. javascript 分号的用法:在js中,句尾的分号是可选的,如果你是一个保守主义者,每个语句都加上分号,也不会出错;js的解析有一定的规则,会自动的给语句后面加上分号,但是有时候并不是我们想要的,这时候就必须要加上以避免歧义管加不管对,接下来我们就来聊聊关于javascript不写分号的习惯?以下内容大家不妨参考一二希望能帮到您!
javascript不写分号的习惯
1. javascript 分号的用法:
在js中,句尾的分号是可选的,如果你是一个保守主义者,每个语句都加上分号,也不会出错;js的解析有一定的规则,会自动的给语句后面加上分号,但是有时候并不是我们想要的,这时候就必须要加上以避免歧义。管加不管对。
这个特性与python之类的语言很类似,但是python主要靠换行和缩进解析代码,如果语句可能有歧义时,最好还是加上,详细可查阅python相关资料。
在js中,空格和换行很随意,大多数时候,多余的空格和换行不会对程序产生影响。
2.
例1:下面的写法没有什么不同,都可以正常运行
a=3,b=4
c=10;d=20
例2:对于多余的换行
var m
m
=
10
上面的代码和下面效果是一样的
var m; m = 10;
像下面的函数定义,也是可以正常运行的
var a =
function(){
return 3;
}
3. js解析的通用规则,当前行和下一行不能合并,当前行就会添加分号
例外的情况
3.1 return break continue ,这三个关键词换行后会自动添加分号,后面的参数必须放到同一行
3.2 和-- 这两个运算符如果单独一行,只会当成下一行的前缀
例
aa=1,bb=2
aa
上面的代码会报错,下面的才能正常运行
aa=1,bb=2
aa
bb //解析为 bb; =3
4. 一般来说,"(" "[" "/" " " "-" 这几个符号容易和前面的一起解析,
"(" "[" 这两个常用于函数和数组的定义和调用;
4.1
var a,b
a=b
[2,3,4].forEach(console.log) //这里自动和上面一起解析了,所以会出错
4.2
a=b
(
function(){}
)()
第一行的b自动和下一行的"(" 一起解析了,所以会出错,在jQuery中以及很多组件中,都有这种写法,在"("前增加";" .
解决这些问题很简单,在符号前加分号就行了
总之,如果你怀疑语句可能有歧义,就加上分号;
对于可选的分号,加与不加是一种编程风格,一种习惯,没有必要分出好坏,开心就好。
,