У меня есть следующая анонимная функция:
(function() {
var a = 1;
var b = 2;
function f1() {
}
function f2() {
}
// this => window object!
// externalFunction(this);
})();
function externalFunction(pointer) {
// pointer.f1(); => fail!
}
Мне нужно вызвать внешнюю функцию из этой анонимной функции и передать ее указатель для вызова функций f1 и f2.
Но я не могу этого сделать, так как это относится к объекту окна вместо внутренней области видимости.
Я могу установить функцию:
this.f1 = function() {}
но это плохая идея, так как они будут в глобальном пространстве ...
Как я могу передать анонимное пространство внешней функции?