Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/08/2008, 19:44
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 7 meses
Puntos: 45
Respuesta: Definición de función de forma dinámica

Hola Jawar:

No sé qué problema tienes en hacer esto:
Código PHP:
function decide(a,b,c) {
    
alert("a="+a+"\rb="+b+"\rc="+c);
}

var 
nuevaFuncion=function() {
    
decide(array[0],array[1],array[2]);
}


var array = [
10,20,30];
nuevaFuncion(); 
No le veo más vuelta de hoja. Si es que no sabes cuántos elementos va a tener array siempre existe Function.apply() para mandar los elementos del array como si fueran argumentos:
Código PHP:
function decide(a,b,c) {
    for(var 
i=0res=""i<arguments.lengthi++)
        
res+= "El argumento "+i+" es = "+arguments[i]+"\r";
    
alert(res);
}

var 
nuevaFuncion=function() {
    
decide.apply(window, array);
}


var array = [
10,20,30];
nuevaFuncion(); 
La sintaxis de apply() para llamar a f() con el array de argumentos ar si f() cuelga de window (a veces cuelga de otro objeto porque puede ser método de una clase) es:
Código PHP:
f.apply(windowar);     // Llamamos a f() ( = window.f() ) con los elementos de ar como argumentos
metodoDeObjeto(objetoar);     // Así llamamos a objeto.metodoDeObjeto() (metodoDeObjeto tiene que estar declarado fuera de la clase, como variable global) con los elementos de ar como argumentos 
Si con eso no lo solucionas expón un poco más tu problema porque no logro captarlo.

Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.