为什么要在javascript中的每个函数之后使用分号?

我已经看到不同的开发人员在javascript函数中包含分号,而有些还没有。哪个是最佳做法?

function weLikeSemiColons(arg) {

// bunch of code

};

要么

function unnecessary(arg) {

// bunch of code

}

回答:

分号后 函数的声明 是 。

a的语法FunctionDeclaration在规范中描述为:

function Identifier ( FormalParameterListopt ) { FunctionBody }

语法上没有分号,但可能想知道为什么?

分号用于将 语句 彼此分开,并且a FunctionDeclaration不是 语句

FunctionDeclarations在代码执行之前进行评估,是用来解释这种行为的 常用词

术语“函数声明”和“函数声明”通常会错误地互换使用,因为ECMAScript规范中没有描述函数声明,但是有一些实现在其语法中包括函数声明,特别是Mozilla,但同样是非标准的。

但是,始终建议在使用的地方使用分号FunctionExpressions,例如:

var myFn = function () {

//...

};

(function () {

//...

})();

如果在上面的示例中的第一个函数之后省略分号,则将获得完全不希望的结果:

var myFn = function () {

alert("Surprise!");

} // <-- No semicolon!

(function () {

//...

})();

第一个功能将立即执行,因为第二个功能的括号将被解释为Arguments函数调用的。

以上是 为什么要在javascript中的每个函数之后使用分号? 的全部内容, 来源链接: utcz.com/qa/400772.html

回到顶部