1. Setiap fungsi JavaScript adalah instance dari objek fungsi. Ini memiliki properti internal [[ruang lingkup]] yang hanya dapat diakses oleh mesin JavaScript. Ini [[SCOPE]] menyimpan koleksi yang dilingkupi, yang disebut "rantai lingkup", dan koleksi menyimpan "objek yang dapat berubah" atau "objek aktif" AO (AO memiliki lebih banyak hal ini dan argumen properti daripada VO).
2. Ketika suatu fungsi dibuat, semua objek yang dapat berubah dalam rantai ruang lingkup ruang lingkup induknya akan ditambahkan ke [[lingkup]] (jika ruang lingkup induknya global, maka hanya satu objek global yang akan ditambahkan ke rantai ruang lingkup fungsi saat ini).
3. Ketika suatu fungsi dieksekusi, lingkungan eksekusi fungsi akan didorong ke tumpukan lingkungan:
1. Pada saat ini, tahap inisialisasi variabel dari fungsi masuk. Tahap ini menentukan fungsi internal: nilai ini, parameter fungsi, deklarasi fungsi, deklarasi variabel, dan argumen. Berdasarkan nilai -nilai ini, objek aktif AO dari fungsi saat ini akan disusun, dan objek AO akan disimpan ke posisi pertama dari rantai lingkup fungsi saat ini.
Catatan: AO diisi dengan urutan berikut:
1. Parameter fungsi (jika ada parameter yang dilewati, itu akan ditetapkan. Jika parameter tidak diteruskan, nilai inisialisasi tidak ditentukan) Prioritas kedua adalah
2. Fungsi deklarasi (jika konflik nama hidup terjadi, itu akan ditimpa) prioritas tertinggi adalah
3. Deklarasi Variabel (Nilai variabel inisialisasi tidak ditentukan, jika konflik nama hidup terjadi, itu akan diabaikan) prioritas ketiga
2. Maka itu adalah tahap eksekusi fungsi. Semua variabel dan deklarasi fungsi yang digunakan dalam fungsi saat ini akan dicari dari rantai lingkup [[lingkup]] dari fungsi saat ini. Menurut lokasi objek dalam rantai lingkup, objek AO dari fungsi saat ini akan dicari pertama kali. Jika tidak ada objek atas, objek global akan ditemukan. Jika tidak ada, kesalahan akan dilaporkan (variabel tidak ditentukan).
Proses eksekusi fungsi JavaScript di atas adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.