我刚刚开始深入研究 Node.JS,并通过扩展 JavaScript,当参数可能是对象或函数时,我会花很多时间阅读代码。我目前正在使用 IntelliJ 的 IDEA 作为我的 IDE,那么 IDEA 中有没有办法独立编辑对象参数和函数参数的颜色/字体?
编辑:添加示例
我正在阅读 Manuael Kiessling (http://www.nodebeginner.org) 的 The Node Beginner Book,所以这些示例直接来自那里。
在 index.js 中有一个对象变量handle
,它作为函数名称的 url 路径的关联数组,这样handle
和pathname
成为对象。
var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandler");
var handle = {};
handle['/'] = requestHandlers.start;
handle['/start'] = requestHandlers.start;
handle['/upload'] = requestHandlers.upload;
server.start(router.route, handle);
在 router.js 中,有一个函数route
用于将具有有效路径名的句柄引导到它们各自的函数,而将无效路径名引导到信息 404。
function route(handle, pathname, response) {
console.log("About to route a request for " + pathname);
if (typeof handle[pathname] === 'function') {
handle[pathname](response);
} else {
console.log("No request handler found for " + pathname);
response.writeHead(404, {"Content-Type": "text/plain"});
respones.write("404 Not Found");
response.end();
}
}
exports.route = route;
在 server.js 中有一个函数start
使用handle
(ala object) 和route
(ala function) 作为参数来启动服务器。var http = require('http'); var url = 需要('url');
function start(route, handle) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log('Request for ' + pathname + ' received.')
route(handle, pathname, response)
}
http.createServer(onRequest).listen(8888);
console.log('Server has started.');
}
exports.start = start;
因此,对于函数来说,最好在参数(它本身是一个函数)和(它只是一个对象)start
之间有一些视觉上的区别。route
handle