通常情况下,在JavaScript中,当我想将匿名/内联函数作为参数传递给另一个函数时,我会采取以下方法之一。
someFunctionCall(function() {
//...
});
someFunctionCall( () => {
//...
});
但是,最近我继承了一个代码库,其中使用了命名函数作为内联参数,就像这样
someFunctionCall(function foo() {
//...
});
我以前从未见过这种语法。该函数仍然似乎是匿名的——在调用范围或被调用范围中都没有定义foo
函数。这只是一种风格问题,还是使用命名函数(如上面的foo
)作为匿名函数会改变程序的行为或状态?
这是专门针对NodeJS(而不是基于浏览器的程序),我特别关心使用函数作为参数时的特定行为。尽管如此,来自跨平台和运行时的信息也是受欢迎的。
(function me(x){ me.lastX=x; })
- dandavis