亲爱的所有我刚刚开始学习javascript模块。这是我对模块的实现:
module.exports = function(logger_level) {
this.info = function(message) {
stdout(message);
};
};
function stdout(message)
{
process.stdout.write(message+'\n');
}
我必须像这样调用它:
var logger = require('./js/logger.js');
var logger1 = new logger("info1");
logger1.info("info");
我的问题是如何更改模块的实现,以便可以这样调用它:
var logger = require('./js/logger.js')("info");
logger.info("info");
您正在寻找工厂功能。将其应用于您的用例看起来像:
module.exports = function(logger_level) {
return {
info: function(message) {
stdout(message);
}
};
};
function stdout(message)
{
process.stdout.write(message+'\n');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句