Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/02/2008, 10:10
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: Funcion como parametro????

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();
}

ejecutorf3 ); 
O como bien dice plus_ultra:
Código PHP:
function ejecutor) {
    
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(farg) {
    
f.call(windowarg);
}

ejecutorfx"yo" ); 
Código PHP:
// suma todos los números que le pases por argumento
function sumatorio() {
    for(var 
resultado=0i=0i<arguments.lengthi++)
        
resultado += arguments[i];
    
alert(resultado);
}

function 
ejecutor(fargs) {
    
f.apply(windowargs);
}

ejecutorsumatorio, [10152512] ); 
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.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.