Un oggetto di attivazione è l'oggetto utilizzato per contenere le proprietà che descrivono l'ambiente e lo scopo di una funzione di esecuzione. Su questo oggetto sono archiviati gli argomenti della funzione, ad esempio. Per definizione, ATTIVARE qualcosa è far sì che quella cosa agisca o FUNZIONE. Quindi, quando senti "Oggetto di attivazione", pensa all'oggetto "FUNZIONE", o, meglio ancora, l'oggetto radice che è LOCALE a una funzione (ad esempio, l'OGGETTO LOCALE FUNZIONE).
Riguardo all'oggetto Variable, un oggetto Activation è più o meno un'istanza concreta di un oggetto Variable, che è esso stesso (facendo riferimento all'oggetto Variable qui) un tipo di oggetto ABSTRACT. Come indicato qui ...
The term ‘Variable object' is a general or abstract term used to refer to any object that holds the properties that describe the environment and scope of the currently executing context.
Quindi, all'interno dell'ambiente e nell'ambito del contesto di esecuzione globale (cioè, al di fuori di una funzione), l'oggetto Global è l'oggetto Variable. Nel browser, poiché l'ambiente di esecuzione globale o esterno è il browser WINDOW, è l'oggetto window
che viene utilizzato come oggetto Variabile. Questo è il motivo per cui le variabili dichiarate con la parola chiave var
all'esterno delle funzioni finiscono sull'oggetto window
.
Nell'ambito di una funzione, tuttavia, è l'oggetto Activation (cioè la funzione local object) che è l'oggetto variabile perché è questo oggetto che viene utilizzato per memorizzare le proprietà che descrivono l'ambito di una funzione in esecuzione .