je la fonction anonyme suivante:javascript champ de fonction anonyme
(function() {
var a = 1;
var b = 2;
function f1() {
}
function f2() {
}
// this => window object!
// externalFunction(this);
})();
function externalFunction(pointer) {
// pointer.f1(); => fail!
}
Je dois appeler une fonction externe de cette fonction anonyme et le transmettre est le pointeur d'appeler des fonctions f1 & f2. Mais je ne peux pas faire cela, car cela fait référence à l'objet fenêtre au lieu de la portée interne.
Je peux définir la fonction que:
this.f1 = function() {}
mais il est mauvaise idée, car ils seront dans l'espace mondial ...
Comment je peux passer un espace anonyme à la fonction externe?
Oui, vous droit, le son étrange, mais je besoin de ce comportement. –