Sommaire

La portée des variables et des fonctions

1. Le contexte global

En JavaScript, l’endroit où une ligne de code s’exécute se nomme un contexte. Cette notion est très importante et il faut bien la comprendre.

Un mot-clé de JavaScript permet d’interroger le contexte dans lequel on se trouve. Il s’agit du mot réservé this.

Si vous tapez ce mot-clé dans la console de votre navigateur, celui-ci vous retourne un objet Window. Cet objet constitue l’objet global de la page web sur laquelle on se situe, en l’occurence le contexte de la console.

images/3-11-001.png

Lorsqu’on interroge le mot-clé this dans un autre contexte, le code de la méthode d’un objet par exemple, la réponse n’est pas la même.

images/3-11-002.png

En l’occurrence, pour ce cas précis, le contexte est l’objet lui-même.

2. Les contextes privatifs hérités

Lorsqu’on utilise une instruction var pour déclarer une variable en JavaScript, celle-ci se trouve créée dans le contexte où elle est jouée. Ainsi, créer une variable maVariable dans la console de cette manière revient à ajouter une propriété maVariable à l’objet global. En voici la démonstration :

images/3-12-001.png

Lorsque nous créons une variable dans l’espace global, celle-ci est disponible dans l’espace global et dans tous les espaces qui en héritent. Par héritage, il faut comprendre la transmission du contexte ...