在JavaScript中分配变量时使用命名函数的目的是什么?

Fri*_*ure 6 javascript

我最近在https://github.com/yeoman/generator-webapp的源代码中遇到了这种模式:

AppGenerator.prototype.packageJSON = function packageJSON() {
  this.template('_package.json', 'package.json');
};
Run Code Online (Sandbox Code Playgroud)

当你要将函数分配给变量或对象属性时,为函数命名为"packageJSON"的目的是什么?在类似的情况下,我总是使用匿名函数.

elc*_*nrs 6

用于调试目的.如果使用命名函数,则可以在最喜欢的开发工具中的调用堆栈跟踪中看到该名称.否则你会看到anonymous function.