匿名函数在JavaScript中是不好的做法吗?

我正在阅读在JavaScript中使用匿名函数是不好的做法,因为它可以使调试变得很痛苦,但是我没有看到过自己。 JavaScript中的匿名函数真的很糟糕,如果是这样,为什么?


不,匿名功能在整个网络中都被JavaScript使用。 它可能会使调试更加困难,但还不足以说明它们不应该被使用。

例如,JQuery广泛使用它们。

有很多时候你想要通过正式声明的函数来使用它们,比如当你想限制它们的作用域时。


我将在这里反对这个流程,并且假设匿名函数确实是不好的做法,即使它们被广泛使用。

1)匿名功能不能重复使用。

2)根据定义,匿名函数没有名称,因此也没有描述它们的作用。 也就是说代码不是自我记录。

3)匿名函数不能单独通过单元测试框架进行测试。

4)我个人认为他们让代码更难以阅读和调试。 虽然你的经验可能会有所不同

我认为在某些情况下,匿名功能是最好的选择,作为一般规则,为了避免上述缺点,我几乎总是命名我的功能。


我会说相反,lambda(别名)使一些表达式更加简洁。 例如,如果将多个事件处理程序绑定到多个事件,则为每个事件处理程序提供一个函数名称会很乏味。

即使它使得调试有点困难,但是我很少在调试时遇到困难,因为函数是匿名的,所以它比没有更有用,更节省时间。 编码时应该使用JSLint来让你的生活更轻松。

链接地址: http://www.djcxy.com/p/17261.html

上一篇: Are anonymous functions a bad practice in JavaScript?

下一篇: Why is a function declaration within a condition block hoisted to function scope in Chrome but not Firefox?