首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JavaScript中为变量赋值时,使用命名函数的目的是什么?

在JavaScript中为变量赋值时,使用命名函数的目的是什么?
EN

Stack Overflow用户
提问于 2013-04-13 04:50:15
回答 3查看 63关注 0票数 6

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

代码语言:javascript
运行
复制
AppGenerator.prototype.packageJSON = function packageJSON() {
  this.template('_package.json', 'package.json');
};

当你要将函数赋值给一个变量或对象属性时,给它命名为"packageJSON“的目的是什么?在类似的情况下,我总是使用匿名函数。

EN

Stack Overflow用户

发布于 2013-04-13 04:55:46

这就是所谓的named function expression (或NFE),它使调试过程变得更加容易。

需要记住的一个重要细节是,此名称仅在新定义的函数的作用域中可用;specs要求标识符不应在封闭的作用域中可用:

代码语言:javascript
运行
复制
var f = function foo(){
  return typeof foo; // "foo" is available in this inner scope
};
// `foo` is never visible "outside"
typeof foo; // "undefined"
f(); // "function"
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15980616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档