使用Node.js hello world示例:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
我正在尝试查找http.js中的createServer查找“函数”,然后将两个对象传递给它(上面的名称为'req'和'res'。我搜索了http.js和我发现的只有:
exports.createServer = function(requestListener) {
return new Server(requestListener);
};
这是否意味着匿名功能:
function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}
...作为'requestListener'和...传递
return new Server(requestListener);
...是req和res对象被传回的地方吗?
答案 0 :(得分:1)
是。在Javascript函数中,您可以将“值”分配给“对象”。由于您可以将对象传递给另一个函数,因此您可以将函数本身作为对象传递。
requestListener
是名为createServer
的参数requestListener
,用于通过它调用Server
constructor
。
您还可以在ruby中看到这一点,您可以在其中调用函数,同时将其作为参数传递给do块中执行的代码。