通常,在 Javascript 中,当我想将匿名/内联函数作为参数传递给另一个函数时,我会执行以下操作之一。
someFunctionCall(function() {
//...
});
someFunctionCall( () => {
//...
});
然而,我最近继承了一个使用的代码库named作为内联参数运行,就像这样
someFunctionCall(function foo() {
//...
});
我以前从未见过这种语法。功能依旧seems匿名——没有foo
在调用或被调用范围中定义的函数。这只是一个风格问题,还是可以使用命名函数(foo
上面)作为匿名函数会改变该程序的行为或状态吗?
这是专门针对 NodeJS(不是基于浏览器的程序)程序的,我对使用函数作为参数的特定行为特别感兴趣。也就是说,来自跨平台和运行时的行为的信息是受欢迎的。
使用命名函数表达式代替匿名函数表达式至少具有三个优点。
- 由于函数名称显示在调用层次结构中,因此使调试更容易。
- 函数名可以在函数内部作用域访问,因此可以用于递归
- 函数名称本身就像函数正在做什么的自我文档,而不是阅读代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)