то есть что эквивалентно объекту "окна" браузера, к которому прикреплены функции верхнего уровня?
Следующий код завершается успешно в REPL:
var assert = require('assert');
function foo() { };
assert.ok(foo == this["foo"]);
Однако в сценарии(или модуль) происходит сбой - в обоих случаях «this» является пустым объектом.
Мне интересно об этом, чтобы я мог легко экспортировать все функции, видимые в пространстве имен модуля - я хочу бытьв состоянии сделать что-то вроде:
function foo() { };
function bar() { };
["foo", "bar"].forEach(function (k) {
exports[k] = ???;
});
(eval(k)
работает для ???, но, тьфу.)