函数语法在这里真的需要分号

时间:2014-06-14 02:06:15

标签: javascript syntax

JSHint一直告诉我这是不正确的。

this.x = function( z ) {do stuff}

它报告说在最后一个之前应该有一个分号}

this.x = function( z ) {do stuff;}

并且lint报告在之后应该有分号

this.x = function( z ); {do stuff}

但似乎正在运行,这是正常的还是如果没有严格运行会被忽略的错误之一,哪一个是正确的答案

2 个答案:

答案 0 :(得分:0)

Lint并没有要求你在JAAulde指出的结束时加上一个分号。

要求你在结束大括号之后加一个分号:

this.x = function( z ) {
    // an instruction with a semicolon;
}; // and this one is for the outer instruction

请注意,缩进对于避免这种混淆非常重要。

是的,它是强制性的,因为它是function expression分号是指当前案例中主要指令的目的:赋值。

答案 1 :(得分:0)

第一个选项是正确的。分号在JS中分隔语句 - 它不会终止它们。这确实因一些自动插入规则而变得复杂,但在这里你没事。第二个也是有效的,并将保留一些过于激进的工具(jsl)抱怨。你的第三个选择是错误的。