[英]Question regarding benifits of using one over other regarding function syntax
我在这里阅读了函数声明和函数表达式之间的区别
var functionName = function(){}与function functionName(){}
我了解了一个区别,一个是在解析时定义的,另一个是在运行时定义的。 但是我的好奇心是在考虑使用哪个,不使用哪个以及为什么要优先使用另一个。
仅供参考,即使在函数表达式中,您也可以在括号之前使用functionName:
var functionName = function functionName() { ... }
使用其中具有函数名称的形式(在function
和()
之间()
一个原因是,调试器可以在显示堆栈跟踪时帮助您告诉发生了什么功能。
使用函数表达式的一个原因是让您在将函数放入名称空间时具有更大的灵活性。 因此,如果您使用命名空间将javascript组织到模块中 ,则可能需要使用函数表达式。
由于这些原因,以上形式(带有函数名称的函数表达式)可以被认为是两全其美的。 但是它的缺点是重复( DRY !)。
真的很少。 function foo(x)
只是foo = function(x)
简写。 与Java中的任何名称一样,添加var
限制范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.