En JavaScript, no hay un estándar para crear un 'Objeto maestro', o cualquier método incorporado para acceder a las variables en el alcance inicial con una referencia de cadena que conozco.
Sin embargo, si está utilizando JavaScript para el desarrollo web en un navegador, el objeto window
le dará acceso completo a su alcance actual. Por ejemplo:
myVar = "This is my var";
if(myVar == window.myVar){
/*
This statement would return true
Because both variables reference
the same string;
*/
}
Este método le permitirá hacer referencia a cualquier ámbito de variables sin que sea una cadena, pero también se puede utilizar una cadena según sea necesario con los selectores ([]
) del soporte.
window['myVar']
Vale la pena mencionar que el mantenimiento de los datos como una variable directamente en el ámbito actual deja abierto para ser re-definido por otras secuencias de comandos que se ejecutan. Su variable puede ser sobrescrita por nombres de argumento de función, para variables de bucle, y simplemente asignando un nuevo valor a esa variable.
Para solucionar esto, sugiero usar un objeto para almacenar toda la información relevante en su aplicación (estático y/o OOP). De esta manera:
$myApp = {
var1 : 'This is Var1',
apply : function(){
alert('Started!');
}
}
//Referencing relative variables
alert($myApp.var1);
Ver: http: // stackoverflow.com/questions/724857/how-to-find-javascript-variable-by-its-name –