为什么要在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