Puede ser esto ..
acceso variable global con el corchete de la notación
La notación de corchetes requiere que haya algún tipo de referencia de objeto a la izquierda de los soportes.
["document"] //Array literal, not a Property Accessor!
-Will producir un error si se hace un intento para asignar un valor a la misma, ya que será tratada como una matriz literal, si un intento de leer de él se hace la matriz de un elemento que contiene la cadena dentro de los corchetes se devuelve. Las variables globales normalmente se referencian por su único identificador. Esto parecería excluir las variables globales de la posibilidad de que se haga referencia a ellas usando una cadena que contenga su nombre de identificador o una expresión que genere, o devuelva, su nombre. Sin embargo, las variables globales de JavaScript (y los nombres de funciones globales para el caso) son propiedades de un objeto global. Cualquier identificador que contenga una referencia al objeto global se puede usar a la izquierda de los corchetes para formar un acceso de propiedad que se refiere a una variable global.
En un navegador web, el objeto global es la ventana (o marco) en la que se ejecuta el script. Cada objeto de ventana (o marco) contiene varias propiedades, de las cuales al menos dos son referencias a la ventana (objeto global). Estas propiedades son 'ventana' y 'auto'. Estos nombres de propiedad se pueden usar como el identificador a la izquierda de los corchetes cuando se hace referencia a variables globales. Así que dada una variable global definida como: -
var anyName = 0;
Al igual que con cualquier otro uso de la notación de corchetes, la cadena dentro de los corchetes se puede mantener en una variable o construir/devolver por una expresión.
El código que se ejecuta en el contexto global, el código dentro de funciones globales (excepto los constructores de objetos invocados con la nueva palabra clave) y el código en línea fuera de cualquier función, también podría usar la palabra clave para referirse al objeto global. La palabra clave this se refiere a un objeto que depende del contexto de ejecución.Para la ejecución de código en el contexto global, este es el objeto global (en un navegador web, el objeto ventana). Como resultado, la variable anterior podría denominarse así ["anyName"], pero solo en el código que se está ejecutando en el contexto global.
Sin embargo, usar esta palabra clave es muy probable que sea confuso, especialmente en scripts que incluyen objetos JavaScript personalizados donde los métodos (y constructores) de esos objetos estarían usando esto para referirse a sus propias instancias de objeto.
Algunas implementaciones de JavaScript no tienen una propiedad del objeto global que hace referencia al objeto global. En lugar de tratar de usar la palabra clave this para acceder a las variables globales, es posible crear su propia variable global que haga referencia al objeto global.
var myGlobal = this;
ejecutados como código en línea en el inicio de una secuencia de comandos asignará una referencia al objeto global (esto en ese contexto). A partir de ese momento, todas las variables globales se pueden referenciar con notación de corchetes como: -
myGlobal ["anyName"];
y espera myGlobal
para hacer referencia al objeto global desde cualquier contexto de ejecución.
Entonces, en mi opinión, ¿se está creando una nueva matriz que contiene un elemento? –
sí. significa que hay un elemento de matriz creado. – Murvinlai
Sí y luego se convierte en cadena – mck89