<!–markdown–>庆祝自己小站复活,先写个文章压压惊。
在此感谢木工(木木工程师)的技术支持。
什么是Automatic semicolon insertion机制呢。中文一般翻译成自动插入分号,简称asi机制。功能呢,也很简单,就是智能的判断语句是否插入分号,示例如下
function(){
reutrn 'hehe'
}
<p><!–more–></p>
由于有asi机制的存在,以上代码是合法而合理的。大概javascript的设计师是为了帮助一些粗心的小猴子温馨的加个分号。但是呢,也会发生一些神奇的事情。比如如下示例
function(){
return
{
today:'才周二'
}
}
或许,我们希望返回一个对象,但是由于asi机制的存在,这段代码并不能返回我们想要的结果。正确示例应如下
function(){
return{
today:'不是周五'
}
}
像方括号、逗号、大括号、小括号等这些常用符号并不会被自动加上分号而被断句。
asi机制的规则花样繁多,去记住他们的所有规则有点不大现实,所以大部分情况下我们还是老老实实的在句末加上分号吧。同时,留个小心情,避免发生如上bug。