我们应该或不应该在Javascript中的main函数内部函数声明后使用分号?

Kis*_*ada 2 javascript function

我遇到过多个例子,我对于在声明一个函数后放置分号感到困惑,它在函数内部充当函数,如下例所示

var myFunction = function() {
   var value = "parentValue";   

   function otherFunction() {
      var value = "childValue";
      console.log("Value is : "+value);
   }

   otherFunction();
}

myFunction();
Run Code Online (Sandbox Code Playgroud)

即将分号放在otherFunction()声明的末尾.如果我保持; 或不是它的工作.哪个是最好的做法?

Ber*_*rgi 7

函数声明不是语句.它们不是以分号结尾的,你不应该使用任何分号.

如果你在那里放了一个分号,它会在声明后被解析为一个空语句.

但是,并非所有函数定义都是语句.myFunction是一个赋值函数表达式的变量,赋值是(应该)以分号结束的表达式(或变量声明)语句.

function otherFunction() {
    …
} // <-- no semicolon after declaration

var myFunction = function() {
    …
}; // <-- semicolon after assignment
Run Code Online (Sandbox Code Playgroud)

另请参阅var functionName = function(){} vs function functionName(){}以获取更多差异.