关于在函数语法方面使用一个优于另一个的好处的问题



我在这里阅读函数声明和函数表达式之间的区别

JavaScript 中的函数表达式和声明有什么区别?

var functionName = function() {} vs function functionName() {}

我开始了解一个在解析时定义而另一个在运行时定义的区别。但我的好奇心是使用哪些,不使用哪些,以及为什么一个会优先于另一个。

真的很少。 function foo(x)只是foo = function(x)的简写。 添加var会像Javascript中的任何名称一样限制范围。

这是关于该主题的详细文章。

仅供参考,即使在函数表达式中,您也可以在括号前有一个函数名称:

var functionName = function functionName() { ... }

使用包含函数名称的表单(介于 function() 之间)的一个原因是,调试器可以在显示堆栈跟踪时帮助您告诉您发生了什么函数。

使用函数表达式的一个原因是,在将函数放入命名空间时具有更大的灵活性。因此,如果您使用命名空间将 javascript 组织到模块中,则可能需要使用函数表达式。

由于这些原因,上述形式(带有函数名称的函数表达式)可以被认为是两全其美的。但它的缺点是重复(干!

相关内容

最新更新