Por favor, eche un vistazo al siguiente código:

var abc_text = "Hello";
var def_text = "world";

function testMe(elem) {
    var xyz = elem+"_text";
    alert(xyz);
}

testMe("abc");
testMe("def");

Estoy tratando de pasar el prefijo a una función y trato de imprimir algunos valores predefinidos concatenando. Pero el ejemplo anterior solo imprime "abc_text" y "def_text" .. en lugar de "Hello" y "world". ¿Cómo puedo hacer que funcione?

Gracias.

EDITAR

Estoy usando Jquery.

1
TigerTiger 14 jun. 2009 a las 19:26

3 respuestas

La mejor respuesta

Puede evaluar xyz, pero es mejor almacenar abc_text y def_text en una matriz asociativa o en un objeto;


var text = {"abc" : "Hello", "def" : "Word"};
4
erenon 14 jun. 2009 a las 15:31

Aquí hay una muy buena descripción de las variables dinámicas en JavaScript:

http://www.hiteshagrawal.com/javascript/dynamic-variables-in-javascript

1
Eli 2 nov. 2009 a las 19:53

En este caso usar

var xyz = window[elem+"_text"];
6
Jonathan Fingland 14 jun. 2009 a las 15:27