In einem bestimmten Ausführungskontext ist das Variable-Objekt das Aktivierungsobjekt dieses Ausführungskontexts.
Durch meine Online-Recherche kann ich den vorherigen Satz auf unterschiedliche Weise umformulieren, aber niemand kann sagen, was er ist.
Was ist ein Aktivierungsobjekt?
javascript
terminology
rsman
quelle
quelle
Antworten:
Lassen Sie mich von den Wurzeln ausgehen ...
Der Ausführungskontext ist ein Objekt, das besteht aus:
this
WertVariables Objekt ist eine abstrakte Sache, die eine davon sein kann:
window
,document
oderconsole
in einem Browser) residierenAktivierungsobjekt ist ein Objekt, das Folgendes enthält:
arguments
Objekt für diese FunktionDas Aktivierungsobjekt ist also nur ein Sonderfall eines variablen Objekts.
Es ist im Grunde ein Container für alle lokalen Inhalte, auf die Sie innerhalb einer Funktion mit Namen zugreifen können, mit Ausnahme von
this
. Ich mag hier ungenau sein, aber das denke ich auch.Weitere Erklärungen mit ein paar schönen Bildern:
quelle
Ein Aktivierungsobjekt ist das Objekt, das die Eigenschaften enthält, die die Umgebung und den Umfang einer ausführenden Funktion beschreiben. Auf diesem Objekt werden beispielsweise Funktionsargumente gespeichert. Per Definition bedeutet etwas zu AKTIVIEREN, dass das Ding handelt oder FUNKTIONIERT. Wenn Sie also 'Aktivierungsobjekt' hören, denken Sie an das Objekt 'FUNCTION' oder besser an das Stammobjekt, das für eine Funktion LOCAL ist (dh das FUNCTION LOCAL OBJECT).
In Bezug auf das Variablenobjekt ist ein Aktivierungsobjekt mehr oder weniger eine konkrete Instanz eines Variablenobjekts, das selbst (hier auf das Variablenobjekt bezogen) ein ABSTRACT-Objekttyp ist. Wie hier angegeben ...
Daher ist das globale Objekt innerhalb der Umgebung und des Umfangs des globalen Ausführungskontexts (dh außerhalb einer Funktion) das variable Objekt. Da es sich bei der globalen oder äußersten ausführenden Umgebung im Browser um das Browser-WINDOW handelt, wird das
window
Objekt letztendlich als Variablenobjekt verwendet. Aus diesem Grundvar
landen Variablen, die mit dem Schlüsselwort außerhalb von Funktionen deklariert wurden, imwindow
Objekt.Im Bereich einer Funktion ist jedoch das Aktivierungsobjekt (dh das lokale Funktionsobjekt) das variable Objekt, da dieses Objekt zum Speichern der Eigenschaften verwendet wird, die den Bereich einer ausführenden Funktion beschreiben.
quelle