在Node.js
我有时会看到这样的声明:
var App = require('express')();
末尾的空括号'()'
是什么意思?
我怀疑上面的声明等同于:
var Express = require('express');
var App = Express();
是吗?
答案 0 :(得分:8)
正如詹姆斯已经回答的那样,模块会返回一个以这种方式调用的函数。
这是一个简单的代码示例,以便于理解。
function a() {
function b() {
alert('Alert me!');
}
return b;
}
a()();
//alerts 'Alert me!'
答案 1 :(得分:3)
基本上express
模块正在返回一个函数。空括号调用函数,因此现在App
是返回function
的结果。