Dalam konteks eksekusi yang diberikan, objek Variabel adalah objek Aktivasi dari konteks eksekusi itu.
Dari riset online saya, saya dapat menemukan kalimat sebelumnya diulang dengan cara yang berbeda tetapi tidak ada yang bisa mengatakan apa itu.
Apa itu objek Aktivasi?
javascript
terminology
rsman
sumber
sumber
Jawaban:
Biarkan saya mulai dari akar ...
Konteks eksekusi adalah objek yang terdiri dari:
this
nilaiObjek variabel adalah hal yang abstrak, yang dapat berupa salah satu dari itu:
window
,document
atauconsole
di browser) beradaObjek aktivasi adalah objek yang menampung:
arguments
objek untuk fungsi iniJadi, objek aktivasi hanyalah kasus khusus dari objek variabel.
Ini pada dasarnya adalah wadah untuk semua barang lokal yang dapat Anda akses dengan nama di dalam suatu fungsi, kecuali untuk
this
. Saya mungkin tidak tepat di sini, tapi itulah yang saya pikirkan.Penjelasan lebih lanjut dengan beberapa gambar yang bagus:
sumber
Objek Aktivasi adalah objek yang digunakan untuk memegang properti yang menggambarkan lingkungan dan ruang lingkup fungsi eksekusi. Di objek inilah argumen fungsi misalnya disimpan. Menurut definisi, AKTIFKAN sesuatu berarti menyebabkan sesuatu itu bertindak atau FUNGSI. Jadi ketika Anda mendengar 'objek Aktivasi', pikirkan objek 'FUNGSI', atau lebih baik lagi, objek root yang LOKAL ke suatu fungsi (yaitu, FUNGSI LOKAL OBYEK).
Berkenaan dengan objek Variabel, objek Aktivasi lebih atau kurang contoh konkret dari objek Variabel, yang itu sendiri (mengacu pada objek Variabel di sini) tipe objek ABSTRAK. Seperti yang dinyatakan di sini ...
Oleh karena itu, dalam lingkungan dan ruang lingkup konteks eksekusi global (yaitu, ketika di luar fungsi), objek Global adalah objek Variabel. Di browser, karena lingkungan pelaksana global atau terluar adalah browser WINDOW, itu adalah
window
objek yang akhirnya digunakan sebagai objek Variabel. Inilah sebabnya mengapa variabel yang dideklarasikan denganvar
kata kunci di luar fungsi berakhir padawindow
objek.Namun, dalam lingkup fungsi, itu adalah objek Aktivasi (yaitu, fungsi objek lokal) yang merupakan objek variabel karena objek inilah yang digunakan untuk menyimpan properti yang menggambarkan ruang lingkup fungsi pelaksana.
sumber