如何防止Javascript自动插入分号

如何防止Javascript自动插入分号
在Javascript中,有在线自动插入机制结束分号,可以容忍一些朋友忽略输入分号。当然,你最好的形式进入分号的习惯,同时掌握Javascript处理忽略输入分号的情况,因为这方面的知识可以帮助你没有分号的理解代码。

Javascript语言有一个机制:在解析时,它可以自动的句子修改分号分隔句末失踪后,插入一个分号。然而,因为自动分号是一个Javascript语言,这是机制的冲突,所有的空间都被忽略,所以程序可以通过空间格式的代码。

这两种机制之间的冲突很容易掩盖了更严重的分析错误。有时是不合时宜的插入一个分号。例如,自动插入分号在返回语句会造成这样的后果:如果想返回语句返回一个值,该值的表达式的开始部分必须返回相同的行,例如,
函数(){()
返回
{
现状:真
};
}
看起来它将返回一个包含状态成员元素的对象。不幸的是,Javascript会自动插入分号,让它返回到未定义的位置,导致真正返回的对象被忽略。

当分号的自动插入导致程序被误解时,没有警告。如果把{在前一行的结尾,而不是下一行的头,你可以避免这个问题,例如:
函数(){()
返回{
现状:真
};
}

为了避免由分号引起错误,建议养成良好的习惯,无论是否行中的语句完成。只要加上完整的句子,分号必须添加表示句末。

为了方便阅读,当一个长句子需要在一个分支显示,一行应确保一个完整的逻辑语义不在一条线上形成的。例如,下面的代码是一个连续的赋值语句,可以看出通过分支的显示更清楚。这个分支显示Javascript不能把每一行作为一个独立的句子,因为它不能形成一个独立的逻辑语义,所以不会产生歧义。

var a =
= B
c=4;
上述语句以如下方式显示:var a = b = C=4;

下列语句,很容易区分如果不能正确显示。这句话的意思是定义一个变量i和分配给它。如果变量A是真的,赋值是1,否则它将决定变量B。如果B是真的,赋值值是2,否则它将决定变量C。如果C是真的,赋值是3,否则赋值是4…
var I=1:b 2:C 3:4;
下面的分支显示是错误的,因为表达式A 1:B可以形成独立的逻辑语义,所以Javascript会自动添加分号来表示一个独立的句子。
var I=1:b
2:C
3:4;
安全方法应该显示如下,以便每一行不能形成独立的语义。
var i = 1
2:B
3:C
:4;
简而言之,在编写代码时,应该养成用分号结束句子的好习惯。所有的句子都要用分号隔开,分支所显示的句子应该保证单行不容易形成独立的逻辑逻辑语义。

PS:实例详解Javascript自动添加分号在终点

分号(;),通常用于一行的行尾,代码如下所示:
无功webname = ;
url =;
上面的代码在每个语句语句之后添加了一个分号,这不需要解释太多。
无功webname =
var url =
事实上,分号可以省略,但是分号的省略会在编译阶段自动添加分号。

看看代码的一个例子。
功能(webname){
返回
webname
}
console.log(做());
由于编译器在每行后面自动添加分号,所以输出值未定义,而不是。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部