Foros del Web » Programando para Internet » Javascript »

Variable de Variable en Javascript

Estas en el tema de Variable de Variable en Javascript en el foro de Javascript en Foros del Web. Hola; estoy estudiando cada vez mas este lenguaje ... y se me ocurrió implementar un método del objeto String que lo he denominado toLocalVar y ...
  #1 (permalink)  
Antiguo 22/04/2008, 09:26
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Variable de Variable en Javascript

Hola; estoy estudiando cada vez mas este lenguaje ... y se me ocurrió implementar un método del objeto String que lo he denominado toLocalVar y toGlobalVar.
La idea es que ... a partir de un valor de una cadena pueda generar una variable con ese valor ... o sea:

Código PHP:
miVar 'nuevaVar';
miVar.toGlobalVar (); // Tenemos una nueva variable vacía denominada nuevaVar

miVar.toGlobalVar ('Cabeza'); // En este caso tenemos nuevaVar = 'Cabeza' 
Lo hice de esta manera:
Código PHP:
String.prototype.toLocalVar = function () {
        if (
arguments.length) eval ('var ' this ' = \'' arguments[0] + '\'')
        else eval (
'var ' this '= \'\'');
    }
    
String.prototype.toGlobalVar = function () {
        if (
arguments.length) eval(this ' = \'' arguments[0] + '\'')
        else eval (
this '= \'\'');
    } 
MI idea es que con toLocalVar definir una variable local ... pero esta debe ser definido donde es invocado el método y no dentro de la definición del mismo. Por eso no me funciona. Puse un ejemplo onLine que solo muestra el método toGlobalVar.

No se si se entiende la idea ... Saludos.
__________________
| Cabeza De Raton |
  #2 (permalink)  
Antiguo 22/04/2008, 16:09
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading...........


Pues no entiendo jaja.

Quieres hacer esto?

digamos estas en una funcion.

Código PHP:
var miVar 'nuevaVar'// <-- tienes la variable [b]miVar[b] con el contenido [b]nuevaVar[/b]
miVar.toGlobalVar (); // <-- Acá quieres crear una variable con el valor de [b]miVar[/b] ? 
miVar.toGlobalVar ('Cabeza'); // <-- aca le asignas el valor "Cadeza" a la variable "miVar" ? 
connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 23/04/2008, 06:52
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

Si, me he encontrado en una situación en que tengo que crear una variable nueva con el nombre del valor de otra variable. Similar a $$ en PHP.
Entonces su puedes generar una variable nueva a partir de ese valor ...

var nombre = 'Pepe';
nombre.toLocalVar ('Perez');


Entonces ahora tengo una nueva variblea pepe = 'Perez';
__________________
| Cabeza De Raton |
  #4 (permalink)  
Antiguo 23/04/2008, 07:12
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading.............


Ah claro, eso es fácil

Código PHP:
String.prototype.toGlobalVar = function (value) {
    
window[this]=value || null;
    return 
null;

Con eso la tienes en un ámbito global ahora bien si lo quieres como local.

Código PHP:
String.prototype.toLocalVar = function (value) {
    
setTimeout("var "+this+"="+value || null,1);
    return 
null;


connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 23/04/2008, 07:44
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

Me explicas la linea setTimeout ?
__________________
| Cabeza De Raton |
  #6 (permalink)  
Antiguo 23/04/2008, 07:52
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading............

Es igual a eval y setInterval.... pero por alguna razón que te la crea dentro del ámbito local :D cuando se hace un setTimeOut simplemente se hace una evaluación de una cadena o de una función.



connection closed.
__________________

Maborak Technologies
  #7 (permalink)  
Antiguo 23/04/2008, 08:02
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

muy bueno !!!; de donde sacas esos datos, más allá de dedicarle tiempo, esfuerzo y pasión a la programación ?
__________________
| Cabeza De Raton |
  #8 (permalink)  
Antiguo 23/04/2008, 08:12
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading..........


Bueno pues he leído muchas veces JAVASCRIPT BIBLE GOLD EDITION jejejejejeje si quieres lo subo en mi servidor.


connection closed.
__________________

Maborak Technologies
  #9 (permalink)  
Antiguo 23/04/2008, 08:22
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

A veces cuando leo tus comentarios no se si reírme o no ... en este caso opto por lo primero; de todas formas no tengo miedo de quedar con un iluso al decirte subelo por favor.
Volviendo a lo que nos convoca ... toLocalVar no me funciona:
Al hacer ...
Código PHP:
miVar 'nuevaVar';
miVar.toLocalVar ();
console.log (nuevaVar); 
no crea la nueva variable local ...
__________________
| Cabeza De Raton |
  #10 (permalink)  
Antiguo 23/04/2008, 09:01
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading..........

Bueno, he intentado muchas formas y no veo como crear una variable de ambito local ya que las variables de ambito local se quedan dentro de la function String.prototype.toLocalVar .... y no se puede definir en que escala de ambitos poder usar una variable

Código PHP:
GLOBAL
function
{
    
LOCAL 1
    
function
    {
       
LOCAL 2
        
function
        {
            
LOCAL 3
            
function
            {
                    [
B]LOCAL[/B]
            }
        }
    }

Y nosotros estamos en LOCAL pero lo que puedes hacer es devolver una variable que contiene la cadena "original" y la variable local

Código PHP:
String.prototype.toLocalVar = function (value) {    
    
this[this]=value || null;
    return 
this;
}
var 
"hola";
var 
a.toLocalVar(4512135);
alert(t)  // nos dice que tiene -> "hola"
alert(t['hola']) //nos dice que tiene 4512135
alert(t.hola//nos dice que tiene 4512135 
Nos sirve poco... pero para casos de estudio si... es un String... que a la vez.. es un Objeto con variables jejejeje. Lo he llamado "frankstring" :p


connection closed.
__________________

Maborak Technologies
  #11 (permalink)  
Antiguo 23/04/2008, 09:06
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

mmm ... Gracias.
__________________
| Cabeza De Raton |
  #12 (permalink)  
Antiguo 23/04/2008, 09:36
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Variable de Variable en Javascript

loading.........


Bueno, el libro esta acá

Código:
http://maborak.com/download/Javascript.Bible.Gold.Edition.pdf

connection closed.
__________________

Maborak Technologies
  #13 (permalink)  
Antiguo 23/04/2008, 10:07
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

Gracias MaBoRaK. Tan amable como ocurrente.
Saludos.
__________________
| Cabeza De Raton |
  #14 (permalink)  
Antiguo 23/04/2008, 11:48
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Variable de Variable en Javascript

Muy buen hilo

Lo he abierto este mediodía y he pensado cuatro cosas. Llego a responderlo esta tarde y me encuentro que ya está todo machacado ¡!

Bueno, he llegado a la misma conclusión que MaBoRaK, que no podemos definir el ámbito de una variable. Se queda en la función en la que está y en sus hijas, y no podemos extender ese ámbito a otras funciones sin hacerla global.

De todas maneras me ha parecido muy interesante el hilo Calisco, yo soy de hilos teóricos al parecer . Las aportaciones tuyas MaBoRaK, indispensables. Le he pegado un repasito al libro


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #15 (permalink)  
Antiguo 23/04/2008, 11:51
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: Variable de Variable en Javascript

Sisisi, realmente es de oro. En español ni hablar, no ?. Aunque sea en papel ...
__________________
| Cabeza De Raton |
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 14:00.