Peut être .. ce
accès global variable avec la CROCHET Notation
La notation de crochets exige qu'il y ait une sorte de référence d'objet à gauche des crochets.
["document"] //Array literal, not a Property Accessor!
, ravira produire une erreur si une tentative est faite pour affecter une valeur à lui, comme il sera traité comme un tableau littéral, si une tentative de lecture de celle-ci est faite d'une matrice d'éléments contenant la chaîne entre les crochets est retourné. Les variables globales sont normalement référencées par leur seul identifiant. Cela semble exclure les variables globales de la possibilité d'être référencées à l'aide d'une chaîne qui contenait leur nom d'identifiant ou une expression qui construisait, ou renvoyait, leur nom. Cependant, les variables globales javascript (et les noms de fonctions globaux d'ailleurs) sont les propriétés d'un objet global. Tout identificateur contenant une référence à l'objet global peut être utilisé à gauche des crochets pour former un accesseur de propriété faisant référence à une variable globale.
Dans un navigateur Web, l'objet global est la fenêtre (ou le cadre) dans laquelle le script est exécuté. Chaque objet fenêtre (ou cadre) contient un certain nombre de propriétés, dont au moins deux sont des références à la fenêtre (objet global) lui-même. Ces propriétés sont 'window' et 'self'. Ces noms de propriété peuvent être utilisés comme identificateur à gauche des crochets lorsque l'on se réfère à des variables globales. Donc, étant donné une variable globale définie comme: -
var anyName = 0;
Comme pour toute autre utilisation de la notation entre crochets, la chaîne entre parenthèses peut être conservée dans une variable ou construite/renvoyée par une expression. Le code qui s'exécute dans le contexte global, le code dans les fonctions globales (à l'exception des constructeurs Object invoqués avec le nouveau mot clé) et le code inline en dehors de toutes les fonctions, peuvent également utiliser ce mot clé pour faire référence à l'objet global. Le mot-clé this fait référence à un objet en fonction du contexte d'exécution.Pour le code exécuté dans le contexte global, il s'agit de l'objet global (sur un navigateur Web, l'objet window). Par conséquent, la variable ci-dessus peut être appelée "[anyName"], mais uniquement dans le code qui s'exécute dans le contexte global. Toutefois, l'utilisation de ce mot clé est très susceptible de prêter à confusion, en particulier dans les scripts qui incluent des objets javascript personnalisés où les méthodes (et les constructeurs) de ces objets utiliseraient cela pour faire référence à leurs propres instances d'objet.
Certaines implémentations javascript n'ont pas de propriété de l'objet global qui fait référence à l'objet global. Plutôt que d'essayer d'utiliser le mot clé this pour accéder aux variables globales, il est possible de créer votre propre variable globale qui fait référence à l'objet global.
var myGlobal = this;
exécuté comme un code en ligne au début d'un script attribuera une référence à l'objet global (ce qui, dans ce contexte). À partir de ce moment, toutes les variables globales peuvent être référencées sous la forme d'une notation carrée: -
myGlobal ["anyName"];
et attendez myGlobal
pour faire référence à l'objet global à partir de n'importe quel contexte d'exécution.
Donc dans mon exampe un nouveau tableau contenant un élément est créé? –
oui. cela signifie qu'il y a un élément de tableau créé. – Murvinlai
Oui et ensuite il est converti en chaîne – mck89