Hola Bellenger:
No hay problema en hacer ésto:
Código PHP:
function f1() { alert("Soy f1"); }
function f2() { alert("Soy f2"); }
function f3() { alert("Soy f3"); }
function ejecutor( f ) {
f();
}
ejecutor( f3 );
O como bien dice
plus_ultra:
Código PHP:
function ejecutor( f ) {
f.call();
}
Si necesitas pasar argumentos a la función
f, necesitarás usar los métodos
call() o
apply(), que son muy parecidos.
Código PHP:
function fx(x) { alert("Soy "+x); }
function ejecutor(f, arg) {
f.call(window, arg);
}
ejecutor( fx, "yo" );
Código PHP:
// suma todos los números que le pases por argumento
function sumatorio() {
for(var resultado=0, i=0; i<arguments.length; i++)
resultado += arguments[i];
alert(resultado);
}
function ejecutor(f, args) {
f.apply(window, args);
}
ejecutor( sumatorio, [10, 15, 25, 12] );
Quizás son métodos un poco confusos al principio, pero luego se ve que son muy útiles. Por cierto el
window ese que ves ahí es el objeto padre de la función
f, por lo tanto
window.f() es lo mismo que
f(); pero si tienes un objeto que es
coche y quieres llamar a su
acelerar() sería
acelerar.apply(coche, [parametro1, parametro2...]).
Espero que te sirva. Saludos.