javascript - 具有匹配变量名称的命名函数表达式

标签 javascript node.js

我想知道 javascript 中的命名函数表达式,特别是 Node 。

有什么理由避免以下情况吗?

var foo = function foo () {};

我真的很喜欢使用函数表达式来组织代码,但我真的很喜欢使用函数声明来进行堆栈跟踪。据我所知,上面的代码是有效的,但它看起来不太正确。

任何人都可以提供任何见解吗?

ABE:我专门寻找您将函数命名为与分配给它的变量相同的实例。

函数声明带来了额外的负担,您必须在使用它们之前定义内部函数,以避免 jslint 警告,因此您的代码往往从最后到第一个读取,我不喜欢。

要解决这个问题,您可以使用函数表达式,在顶部定义变量,然后或多或少地按照代码的运行顺序对代码进行排序。然而,走这条路意味着你的函数都是匿名的,除非你命名它们。这让我们回到了最初的问题。

我可以将分配给变量的函数声明命名为与变量本身相同的名称吗?

最佳答案

命名函数表达式在 v8(以及 Node)中工作,没问题。只是在旧版本的 IE 中存在问题。

关于javascript - 具有匹配变量名称的命名函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333428/

相关文章:

javascript - 确定事件处理程序为何在 DOM 元素上消失

javascript - 使用 Jquery 从 HTML 表中获取数据(或其他可能的方式)

javascript - 重构 jquery 闭包 : How to refactor to nominal function?

node.js - node.js 的 acl 库

node.js - MongoDB 搜索用户 : filter based on name with regex

javascript - moment.js 时间计算错误

javascript - 使用javascript打印用户的IP地址

javascript - Mongodb find() 返回未定义

node.js - 为什么 DecisionTask 没有从 AWS-SWF 服务 (SWF) 接收任何任务?

javascript - WebSocket 构造函数是原生 Javascript 吗?