Dans un contexte d'exécution donné, l'objet Variable est l'objet Activation de ce contexte d'exécution.
D'après mes recherches en ligne, je suis en mesure de trouver la phrase précédente reformulée de différentes manières, mais personne n'est capable de dire de quoi il s'agit.
Qu'est-ce qu'un objet d'activation?
javascript
terminology
rsman
la source
la source
Réponses:
Commençons par les racines ...
Le contexte d'exécution est un objet composé de:
this
valeurL'objet variable est une chose abstraite, qui peut être l'une de celles-ci:
window
,document
ouconsole
dans un navigateur) résidentL'objet d'activation est un objet qui contient:
arguments
objet pour cette fonctionAinsi, l'objet d'activation n'est qu'un cas spécial d'objet variable.
C'est essentiellement un conteneur pour toutes les choses locales auxquelles vous pouvez accéder par nom à l'intérieur d'une fonction, à l'exception de
this
. Je peux être imprécis ici, mais c'est ce que je pense que c'est.Plus d'explications avec de belles photos:
la source
Un objet Activation est l'objet utilisé pour contenir les propriétés qui décrivent l'environnement et la portée d'une fonction en cours d'exécution. C'est sur cet objet que sont stockés par exemple les arguments de fonction. Par définition, ACTIVER quelque chose, c'est faire agir ou FONCTIONNER cette chose. Ainsi, lorsque vous entendez «Objet d'activation», pensez à l'objet «FONCTION», ou mieux encore, à l'objet racine LOCAL à une fonction (c.-à-d., L'OBJET LOCAL FONCTION).
En ce qui concerne l'objet Variable, un objet Activation est plus ou moins une instance concrète d'un objet Variable, qui est lui-même (en référence à l'objet Variable ici) un type d'objet ABSTRACT. Comme indiqué ici ...
Par conséquent, dans l'environnement et la portée du contexte d'exécution global (c'est-à-dire en dehors d'une fonction), l'objet Global est l'objet Variable. Dans le navigateur, étant donné que l'environnement d'exécution global ou le plus externe est la FENÊTRE du navigateur, c'est l'
window
objet qui finit par être utilisé comme objet Variable. C'est pourquoi les variables déclarées avec levar
mot - clé en dehors des fonctions se retrouvent sur l'window
objet.Dans la portée d'une fonction, cependant, c'est l'objet d'activation (c'est-à-dire l'objet local de la fonction) qui est l'objet variable car c'est cet objet qui est utilisé pour stocker les propriétés qui décrivent la portée d'une fonction d'exécution.
la source