Если вам нужен объект, динамически основанный на определенных типах ... Например:
var logTypes = ["fatal", "error", "warning", "info", "trace", "debug", "profile"];
Затем вы можете сохранить ссылку на вывод объекта "this" и использовать ее внутри методов.
function CustomLogger () {
var outter = this;
// creating the logger methods for all the log types and levels
_.each(logTypes, function (logType) {
outter[logType] = function (msg) {
console.log("[%s] %s", logType, msg);
};
});
}
Таким образом, вы можете получить новые динамические методы ...
var logger = new CustomLogger();
logger.info("Super cool!");
Будет выведено следующее:
"[info] Super cool!"