JavaScript 函数命名

JavaScript naming of function

我问这个是因为我刚刚在一段代码上看到它:

var myVar = function func(arg){
   console.log(arg);
}

我不明白为什么函数在为 myVar 定义之前是 "renamed" func

有人可以解释一下这样做的好处,而不仅仅是:

var myVar = function(arg){
   console.log(arg);
}

非常感谢!

在您的第一个示例中,您有一个名为 myVar 的变量,它引用了一个名为 func 的函数。您的函数未重命名。

虽然在第二个示例中,您有相同的变量 myVar,但在本例中,它指向一个 anonymous 函数.

选择第一个而不是第二个的原因是当发生错误时你会得到更好的输出,因为它会打印函数名称。在第二个示例中,如果出现问题,它只会说 undefined

编辑:在此处找到更详细的答案:Why use named function expressions?