我正在使用NodeJS进行探索,并且我使用快速调试模块偶然发现了以下语法:
require('debug')(express:server);
这是什么?我之前从未见过这种形式,也没有真正找到一种方法来谷歌检索它。
这个表单是否允许传递给load module语句的参数?
答案 0 :(得分:2)
将(some, arguments)
置于评估为值的内容之后,与其他任何地方相同。它将该值称为函数。
这是一个函数表达式:
(function () { })
它作为一个函数进行求值,你可以调用它:
(function () { })()
这是一个返回函数的函数:
function foo () {
return function () { };
}
您可以调用它来获取功能:
foo();
并将其评估为函数,以便您可以立即调用该函数:
foo()();
这是一个返回函数的模块:
module.exports = function () {}
你可以要求它获得一个功能:
require("myModule")
您可以立即调用该功能:
require("myModule")()