Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Kami en 19 Diciembre 2013, 05:26 am



Título: Ayuda con javascript
Publicado por: Kami en 19 Diciembre 2013, 05:26 am
Tengo una duda que no me deja dormir, me gustaría saber si se puede juntar dos palabras para crear una variable de la siguiente forma:

Código
  1. coin01="moneada uno";
  2. coin02="moneada dos";
  3. coin03="moneada tres";
  4.  
  5.  
  6. for(var i=1;i < 4; i++){
  7. alert(coin0+i);
  8. }

Está claro que así no funciona, pero ¿Cómo se podría hacer?


Título: Re: Ayuda con javascript
Publicado por: #!drvy en 19 Diciembre 2013, 05:41 am
Lo que estas intentando hacer va  en contra de los principios de las variables.

Variable = Un punto de referencia a un contenido dinámico. El problema de como lo intentas hacer, es que nunca sabrás exactamente cuantas variables hay a no ser que mires el código a mano.. y eso no tiene sentido.

Para eso, existen los arrays.

Código
  1. var un_array = ['moneda uno','moneda dos','moneda tres'];
  2. for(var i=0; i<un_array.length; ++i){
  3.   alert(un_array[i]);
  4. }

De todos modos, javascript es un lenguaje de objetos y todas las variables globales se almacenan en window() así que puedes hacer lo que pides.. pero ya te digo que es muy feo.

Código
  1. coin1 = 'moneda uno';
  2. coin2 = 'moneda dos';
  3. coin3 = 'moneda tres';
  4.  
  5. for(var i=1; i<4; ++i){
  6.   alert(window['coin'+i]);
  7. }

Saludos


Título: Re: Ayuda con javascript
Publicado por: TrokaMc en 19 Diciembre 2013, 05:55 am
La verdad que no entendí muy bien a lo que entendí pretendes que gracias al ciclo uniendo las 2 palabras pudiera pasar por cada variable para usar cada una... se me ocurre que puedes hacerlo interactuando con un array de ésta manera:

Código:

<script type="text/javascript">
var monedas = new Array("moneda uno", "moneda dos", "moneda tres");
for(var i=0; i<3; i++)
{
alert(monedas[0 + i]);
}
</script>

asi pasa por cada uno, moneda uno, moneda dos y moneda tres disculpame la verdad no se si eso era lo que querías hacer


Título: Re: Ayuda con javascript
Publicado por: Kami en 19 Diciembre 2013, 19:24 pm
Lo primero en lo que pensé fue arrays, el problema es que no estoy haciendo javascript para navegadores sino para Titanium Appcelerator y en la parte view del MVC no admite arrays.

La variable es

Código
  1. $.coin01.image="/coins/rojas/"+i+".png";
  2. $.coin02.image="/coins/rojas/"+i+".png";
  3.  

Por lo que no se que hacer para que el segundo número venga de una variable.

Código
  1. $.coin0[i].image="/coins/rojas/"+i+".png";
  2. $.coin0[i].image="/coins/rojas/"+i+".png";
  3.  


Está claro que así no funciona pues se interpretaría como un array el coin0.

He probado lo siguiente y tampoco funciona:
$.["coin0"+i].image="/coins/rojas/"+i+".png";