2017-06-05 79 views
0

我与探索的NodeJS和我使用快速调试模块已经在下面的语法蹒跚:这对于require语句做了什么?

require('debug')(express:server); 

这是什么?我从来没有见过这种形式,并没有真正找到一种方法来谷歌它检索信息。

这种形式是否允许传递给加载模块语句的一种参数?

回答

2

(some, arguments)将某个值作为一个值进行评估后,它会在其他地方执行相同的操作。它将这个值作为一个函数来调用。


这是一个函数表达式:

(function() { }) 

它评估的功能,你可以把它叫做:

(function() { })() 

这是一个返回函数的函数:

function foo() { 
    return function() { }; 
} 

你可以称它为g等一个功能:

foo(); 

和评估作为一个功能,所以你可以调用紧接该功能:

foo()(); 

这是返回一个功能模块:

module.exports = function() {} 

你可以要求它得到一个功能:

require("myModule") 

您可以立即致电该功能:

require("myModule")() 
+0

非常感谢您的先生!我不知道为什么我没有想到要求作为一个函数,因此没有想到函数返回另一个函数。 –