在需要'后,空括号是什么意思? Node.js中的声明?

时间:2016-05-20 15:57:58

标签: javascript node.js

Node.js我有时会看到这样的声明:

var App = require('express')();

末尾的空括号'()'是什么意思?

我怀疑上面的声明等同于:

var Express = require('express');
var App = Express();

是吗?

2 个答案:

答案 0 :(得分:8)

正如詹姆斯已经回答的那样,模块会返回一个以这种方式调用的函数。

这是一个简单的代码示例,以便于理解。

function a() {
    function b() {
        alert('Alert me!');
    }
    return b;
}
a()();
//alerts 'Alert me!'  

答案 1 :(得分:3)

基本上express模块正在返回一个函数。空括号调用函数,因此现在App是返回function的结果。