JavaScript - Ayuda.. con funcion EVAL

 
Vista:

Ayuda.. con funcion EVAL

Publicado por hubert (1 intervención) el 18/04/2009 19:35:25
Buenas grupo.
Mi situación es la siguiente e incluso ya tengo la solución implementada pero al usuario no le gusta.

Tengo el siguietne Script.
Cuando ilcluyo estas instruccion es el JS
A var1, var2, var3 se le asignan muchas funciones pero todas estan en una linea de texto
function funcionajax1(){
return("flag1=1; func1(){.....}; func2(){.....}; func3(){.....}; func4(){.....}; .....funcN(){.....};")
}
function funcionajax2(){
return("flag2=1; funcx1(){.....}; funcx2(){.....}; funcx3(){.....}; funcx4(){.....}; .....funcxN(){.....};")
}

1.-<Script......>
flag1=0
flag2=0
var1= funcionajax1(); // la funcion funcionajax1 devuelbe cadena
var2= funcionajax2(); // la funcion funcionajax2 devuelbe cadena
eval(var1);
eval(var2);
alert(flag1); // Aquí debería mostrar 1, pero muestra 0 (no se evalua var1)
alert(flag2); // Aquí SI me muestra 1 (si se evaluo var2)
</Script>

PERO SI el contenido de Script fuera...
2.-<Script......>
flag1=0
flag2=0
var1= funcionajax1(); // la funcion funcionajax1 devuelbe cadena
var2= funcionajax2(); // la funcion funcionajax2 devuelbe cadena
eval(var1);
eval(var2);
alert("Hola"); // SOLO le he agregado esta fila. *******
alert(flag1); // Ahora SI se mustra 1 (si se evaluo var1)
alert(flag2); // Aquí SI me muestra 1 (si se evaluo var2)
</Script>

Esto me saca de quisio.
En el lugar de la fila --alert("Hola Mundo");
Traté de ponerle retardadores SetWindows..., Bucles..., le puse de todo para que:
alert(flag1); muestre 1.

Favor de ayudarme en ello, de que manera o como le hago para que el alert(flag1) me imprima "1" sin colocarle otro alert("Hola").

En este ejemplo solo trato de mostrar "1", pero en realidad lo que pretendo es utilizar todas esas funciones que estan dentro de funcionajax1 y funcionajax2

Repito, solo funciona (muestra 1) si es que antes de eval() le coloco alert().
Tiene que trabajar de esa forma.

Gracias.
Hubert
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