我问这个是因为我刚刚在一段代码上看到它:
var myVar = function func(arg){
console.log(arg);
}
我不明白为什么函数在为 myVar
定义之前被“重命名”func
。
有人能解释一下这样做的好处,而不仅仅是:
var myVar = function(arg){
console.log(arg);
}
非常感谢!
最佳答案
在您的第一个示例中,您有一个名为 myVar 的变量,它引用了一个名为 func 的函数。您的函数未重命名。
虽然在第二个示例中,您有相同的变量 myVar,但在本例中,它指向一个匿名 函数。
选择第一个而不是第二个的原因是当发生错误时您可以获得更好的输出,因为它将打印函数名称。在第二个示例中,如果出现问题,它只会说 undefined。
编辑:在这里找到更详细的答案:Why use named function expressions?
关于函数的 JavaScript 命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31273049/