У меня есть следующая анонимная функция:
(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() {}
но это плохая идея, так как они будут в глобальном пространстве...
Как я могу передать анонимное пространство внешней функции?