¿Cómo haría referencia a una variable local dinámica? Esto se logra fácilmente con una variable global:Cómo acceder a las variables locales dinámicas
myPet = "dog";
console.log(window["myPet"]);
¿Cómo voy a hacer lo mismo en un ámbito local?
Específicamente lo que estoy tratando de hacer:
myArray = [100,500,200,800];
a = 1; // Array index (operand 1)
b = 2; // Array index (operand 2)
Dependiendo de la situación, quiero evaluar una B o b < < un
- Para llevar a cabo esto, establecí dos variables: comparar1 y comparar2
- Comparación1 hará referencia a cualquiera un o b y Comparación2 hará referencia a la otra
- Evaluar Comparación1 < Comparación2 o viceversa
Los siguientes funciona perfectamente con las variables globales . Sin embargo, quiero a y b para ser local.
compare1 = "b"; compare2 = "a";
for(a=0; a<myArray.length; a++){
b = a+1;
while(b>=0 && myArray[window[compare1]] < myArray[[compare2]]){
/* Do something; */
b--;
}
}
Si en el anterior he de poner compare1=a
entonces habría que restablecer Comparación1 cada vez que un cambiado. En cambio, quiero realmente [ver/señalar] el valor de a.
Esta respuesta logra exactamente lo que estoy tratando de hacer, gracias. Por el bien del argumento, ¿es posible hacer referencia dinámica a las variables locales? ¿A qué estarían apegados (como en global están adjuntos a 'ventana')? – Gary
Las variables locales se agregan al "objeto de activación" que se crea para cada función que ingrese. Hasta donde yo sé, no hay forma de acceder al objeto de activación para acceder dinámicamente a sus miembros. --- Dmitry Soshnikov ha realizado muchas exploraciones y ha escrito bien en el interior de ECMAScript. Aquí hay un artículo que escribió que analiza cómo funciona el AO.Leer esto debería ponerlo en el camino para determinar si hay una manera o no: http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-object/#variable-object-in-function-context –