Ayuda con javascript

Iniciado por Kami, 19 Diciembre 2013, 05:26 AM

0 Miembros y 1 Visitante están viendo este tema.

Kami

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 (javascript) [Seleccionar]

coin01="moneada uno";
coin02="moneada dos";
coin03="moneada tres";


for(var i=1;i < 4; i++){
alert(coin0+i);
}


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

#!drvy

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 (javascript) [Seleccionar]
var un_array = ['moneda uno','moneda dos','moneda tres'];
for(var i=0; i<un_array.length; ++i){
  alert(un_array[i]);
}


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 (javascript) [Seleccionar]
coin1 = 'moneda uno';
coin2 = 'moneda dos';
coin3 = 'moneda tres';

for(var i=1; i<4; ++i){
  alert(window['coin'+i]);
}


Saludos

TrokaMc

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:



<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
"Sin requerimientos o diseño, la programación es el arte de agregar errores a un archivo de texto vacío"

Kami

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 (javascript) [Seleccionar]

$.coin01.image="/coins/rojas/"+i+".png";
$.coin02.image="/coins/rojas/"+i+".png";


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

Código (javascript) [Seleccionar]

$.coin0[i].image="/coins/rojas/"+i+".png";
$.coin0[i].image="/coins/rojas/"+i+".png";



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";