Прежде всего, я знаю, что с помощью this
можно получить доступ к свойствам или методам внутри объекта javascript, но что-то не работает в моем примере.
module.exports = {
explanations: {
'--help': 'show help',
'--connection': 'list connections'
},
connections: {
'a': '1',
'b': '2',
'c': '3'
},
manPageOfObject: function(object) {
var output = '';
var keys = Object.keys(object);
for (var i in keys) {
output += keys[i] + ': ' + object[keys[i]] + '\n';
}
return output;
},
manPages: {
'--help': function() { return this.manPageOfObject(this.explanations); }
'--connections': function() { return this.manPageOfObject(this.connections); }
}
}
Функция manPageOfObject
должна возвращать строку / «справочную страницу» объекта.
Затем я хочу напечатать "страницу руководства", например:
var myModule = require('xyz.js');
var manPage = myModule.manPages['--help'];
console.log(manPage());
Но что-то не работает должным образом, я получаю сообщение об ошибке this.manPageOfObject
не является функцией. Но я уверен, что это один, не так ли?
Я ценю любую помощь. Спасибо.