javascript objects confusion
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What is the purpose of NodeJS module.exports and how do you use it?
我有以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | var express = require('express'); var app = module.exports= express(); require('./config/environment.js')(app, express, __dirname); require('./routes/default.js')(app, __dirname); module.exports = function (app, express, dirname) { .... }; module.exports = function (app, dirname) { .... }; |
这段代码中发生了什么。第二个字符串说module.exports和app是同一个对象,对吗?
但是在函数(…)中,部分应用程序作为参数传递,代码喜欢"to object""module""add method""exports"并执行2次"我想添加一些函数,这些函数想在每个函数(…)中使用,但不能使用,因为不理解在该构造中发生了什么。谢谢
为什么要分配module.exports三次?在代码模块中,exports将首先与调用express返回的值相等。然后module.exports将变为与您的函数相等(而不是它返回的值),并接受3个参数。然后,module.exports将等于您的最终函数(同样不是它返回的结果),采用2个参数。因此,在代码模块的末尾,exports将等于该最终函数。所以我不知道前两个任务需要什么。应用程序将在末尾等于module.exports,因为应用程序一直指向module.exports。不管您是否希望将app作为参数传递给它,因为在上面的代码中,在将函数分配给module.exports之后,您实际上不会在哪里将app传递给函数。您在这里所做的就是命名一个参数"app"。
我认为您可能错过了这里的代码,或者对过去可能使用的其他语言感到非常困惑。
如果语言不清楚,请查找道格拉斯·克罗克福德。
希望有帮助。