我想知道 javascript 中的命名函数表达式,特别是 Node 。
有什么理由避免以下情况吗?
var foo = function foo () {};
我真的很喜欢使用函数表达式来组织代码,但我真的很喜欢使用函数声明来进行堆栈跟踪。据我所知,上面的代码是有效的,但它看起来不太正确。
任何人都可以提供任何见解吗?
ABE:我专门寻找您将函数命名为与分配给它的变量相同的实例。
函数声明带来了额外的负担,您必须在使用它们之前定义内部函数,以避免 jslint 警告,因此您的代码往往从最后到第一个读取,我不喜欢。
要解决这个问题,您可以使用函数表达式,在顶部定义变量,然后或多或少地按照代码的运行顺序对代码进行排序。然而,走这条路意味着你的函数都是匿名的,除非你命名它们。这让我们回到了最初的问题。
我可以将分配给变量的函数声明命名为与变量本身相同的名称吗?
最佳答案
命名函数表达式在 v8(以及 Node)中工作,没问题。只是在旧版本的 IE 中存在问题。
关于javascript - 具有匹配变量名称的命名函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333428/