实际返回的内容
What is actually returned?
本文关键字:返回 更新时间:2023-09-26
我最近在学习express.js。下面的代码是从 express.js 的路由器库复制的。
var proto = module.exports = function(options) {
options = options || {};
function router(req, res, next) {
router.handle(req, res, next);
}
// mixin Router class functions
router.__proto__ = proto;
router.params = {};
router._params = [];
router.caseSensitive = options.caseSensitive;
router.strict = options.strict;
router.stack = [];
return router;
};
我的问题是如果我打电话会返回什么
var Router = require('./router');
var _router = new Router(...);
什么是_router
?是函数router(req, res, next)
吗?如果是,我可以打电话给_router(req, res, next);
吗?
如果我错了,有人可以解释一下代码的作用吗?
如果是,他们为什么不这样做:
var proto = module.exports = function(options) {
options = options || {};
var router = {};
// mixin Router class functions
router.__proto__ = proto;
router.params = {};
router._params = [];
router.caseSensitive = options.caseSensitive;
router.strict = options.strict;
router.stack = [];
return router;
};
对于您的第一个问题:
var Router = require('./router');
var _router = new Router(...);
var Router
是function router(req, res, next)
创建的对象,而你的var router
是Router
的新对象。在javascript中,几乎所有东西都是一个对象。您可以在此处阅读更多内容。
如果他们使用你的aproach,他们将没有构造函数。他们使用构造函数来做router.handle(req, res, next);
我不知道他们为什么需要句柄,你可以研究更多的代码或询问开发人员。但是,如果您知道参数的作用,则可以使用该var router new Router(req,res,next);
。
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- RequireJS向模块传递配置总是返回undefined