JavaScript - Funciones como datos

 
Vista:

Funciones como datos

Publicado por Joe_Perseo (1 intervención) el 15/02/2007 19:52:38
Quisiera hacer una consulta, si alguien pudiera ayudarme:

Acabo de iniciarme en programación JavaScript. Deseo conocer si es posible cargar en una matriz, funciones diversas, para luego invocarlas mediante una variable, vease el ejemplo:

var javas = new Array("","priang_001()","priang_002()");


if (tip == 1){
randi= Math.round(Math.random()*1)+1;
cruz = javas[randi];
}}

Si cometí algún error ayudenme por favor...

Joe_Perseo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funciones como datos

Publicado por Gonzalo (107 intervenciones) el 15/02/2007 23:13:10
Poderse se puede, pero no así exactamente.

En Javascript cualquier función como
function unaFuncion() {
····//etc
}
puede ser referenciada directamente como unaFuncion, que es su nombre.

De modo que si tuviéramos:
function funcionUno(parametro) {
····alert("Uno: "+parametro);
}
function funcionDos(parametro) {
····alert("Dos: "+parametro);
}
function funcionTres(parametro) {
····alert("Tres: "+parametro);
}
Podríamos sin ningún problema definir un array como
var funciones = [funcionUno, funcionDos, funcionTres];
o bien:
var funciones = new Array(funcionUno, funcionDos, funcionTres);

Después podemos hacer con toda tranquilidad:
funciones[1]("hola");


Es más, es bastante frecuente una construcción como:
var miFuncion = function(parametro) { alert(parametro); };
que en el fondo viene a ser similar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar