Rumah  >  Artikel  >  hujung hadapan web  >  Bercakap tentang pemahaman saya tentang prototaip JavaScript dan siri penutupan (nota rawak 8)_kemahiran javascript

Bercakap tentang pemahaman saya tentang prototaip JavaScript dan siri penutupan (nota rawak 8)_kemahiran javascript

WBOY
WBOYasal
2016-05-16 15:23:461382semak imbas

Dalam artikel lepas, saya memperkenalkan anda kepada "Bercakap tentang pemahaman saya tentang prototaip JavaScript dan siri penutupan (nota rawak 6)" , Bercakap tentang pemahaman saya tentang prototaip JavaScript dan siri penutupan ( Nota Rawak 9) Anda boleh klik untuk mengetahui lebih lanjut.

Timbunan konteks pelaksanaan

Apabila kod global dilaksanakan, konteks pelaksanaan akan dijana dan setiap kali fungsi dipanggil, konteks pelaksanaan akan dijana. Apabila panggilan fungsi selesai, konteks ini dan data di dalamnya akan dihapuskan dan dikembalikan kepada konteks global. Terdapat hanya satu konteks pelaksanaan aktif.

Proses tolak dan pop----Timbunan konteks pelaksanaan:

var a = 10,    //1. 进入全局上下文环境
  fn,
  bar = function(x) {
   var b = 5;
   fn(x + b); //3. 进入fn函数上下文
  };
fn = function(y) {
 var c = 5;
 console.log(y + c);
};
bar(10);    //2. 进入bar函数上下文环境 

1. Sebelum pelaksanaan, buat konteks global
dahulu

2. Pelaksanaan kod Sebelum bar(10) dilaksanakan, pembolehubah dalam konteks global diberikan nilai semasa pelaksanaan.

3 Apabila melaksanakan ke bar(10), panggil fungsi bar dan buat konteks pelaksanaan di dalam fungsi

4 Pada masa ini, sudah tiba masanya untuk menolak konteks pelaksanaan ke tindanan dan menetapkannya kepada keadaan aktif

5. Fungsi bar melaksanakan ke fn(x b), memanggil fungsi fn, mencipta konteks pelaksanaan fungsi fn, menolaknya ke tindanan dan menetapkannya kepada keadaan aktif


6. Selepas fungsi fn dilaksanakan, persekitaran fn dikeluarkan dari timbunan, dimusnahkan dan memori dilepaskan

7. Fungsi fn dilaksanakan dan dimusnahkan, yang bermaksud bar itu juga dilaksanakan Pada masa ini, persekitaran fungsi bar muncul dari timbunan dan musnah. Persekitaran global menjadi aktif.


Proses pelaksanaan sekeping kod ini selesai pada ketika ini.


Menurut penerangan pengarang asal:

Saya telah meninggalkan banyak proses penetapan pembolehubah dalam konteks, kerana ia tidak sukar dan boleh difahami sepintas lalu.

Memang! Selepas anggaran proses pelaksanaan kod selesai, anda boleh mengetahui dengan jelas status pembolehubah dalam setiap persekitaran pelaksanaan.

Pada ketika ini, saya dengan kesal memberitahu anda: Sebenarnya, apa yang kami tunjukkan di atas adalah situasi yang agak ideal. Terdapat situasi, dan ia adalah situasi yang sangat biasa, di mana mustahil untuk memusnahkannya sebersih mungkin. Keadaan ini hebat - penutupan. Untuk bercakap tentang penutupan, kita perlu bermula dengan pembolehubah bebas dan skop.

Kandungan di atas ialah editor yang berkongsi pemahaman saya tentang prototaip JavaScript dan siri penutupan (nota rawak 8) saya harap anda menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn