Rumah >hujung hadapan web >tutorial js >Adakah JavaScript segerak atau tak segerak, dan adakah ia satu benang atau berbilang benang? Bagaimanakah kod JavaScript dilaksanakan?

Adakah JavaScript segerak atau tak segerak, dan adakah ia satu benang atau berbilang benang? Bagaimanakah kod JavaScript dilaksanakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-09-25 06:20:32922semak imbas

JavaScript ialah bahasa berbenang tunggal segerak yang boleh melaksanakan hanya satu arahan pada satu masa. Ia akan bergerak ke baris seterusnya hanya selepas baris semasa selesai pelaksanaannya. Walau bagaimanapun, JavaScript boleh melakukan operasi tak segerak menggunakan gelung acara, Janji, Async/Await dan baris gilir panggil balik (JavaScript adalah segerak secara lalai).

Bagaimana kod JavaScript dilaksanakan?

Semua dalam JavaScript berlaku dalam konteks pelaksanaan (anggaplah ia sebagai kotak atau bekas besar). Keseluruhan kod JavaScript dilaksanakan dalam konteks pelaksanaan ini. Ia mempunyai dua komponen: komponen memori (persekitaran berubah-ubah) dan komponen kod (benang pelaksanaan).

  • Komponen Memori: Di sinilah semua pembolehubah dan fungsi disimpan sebagai pasangan nilai kunci.
  • Komponen Kod: Di sinilah kod dilaksanakan(satu baris pada satu masa)."

Pertama, konteks pelaksanaan global dibuat. Dalam hal ini, setiap fungsi mencipta konteks pelaksanaannya sendiri.

Sebelum mana-mana baris kod dilaksanakan, memori diperuntukkan untuk semua pembolehubah dan fungsi.

Bagaimana kod dilaksanakan selepas peruntukan memori?
Enjin JavaScript menjalankan keseluruhan program sekali lagi (baris demi baris) dan melaksanakan kod.

Mari kita lihat contoh berikut:

function add(a,b){
   var ans = a+b;
   console.log(ans);
}
var addition = add(6,5);

Dalam contoh ini, konteks pelaksanaan global dicipta terlebih dahulu, yang terdiri daripada dua komponen: Komponen Memori (MC) dan Komponen Kod (CC).

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Untuk fungsi, keseluruhan kod fungsi disimpan dalam ingatan. Untuk pembolehubah, nilai khas, tidak ditentukan, disimpan pada mulanya.

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Apabila fungsi dipanggil, konteks pelaksanaan lain dicipta. Dalam Komponen Memori, nilai untuk parameter (a = 6, b = 5) disimpan, manakala pembolehubah seperti ans pada mulanya memegang nilai tidak ditentukan. Dalam Komponen Kod, nilai daripada Komponen Memori digunakan untuk melaksanakan operasi (a + b = 6 + 5 = 11). Hasilnya kemudian dicetak ke konsol.

Saya harap penjelasan ini menjelaskan konsep. Jika anda mempunyai sebarang soalan atau pembetulan, sila tanya di ruangan komen.

Kredit kepada Akshay Saini (Rujuk:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

Atas ialah kandungan terperinci Adakah JavaScript segerak atau tak segerak, dan adakah ia satu benang atau berbilang benang? Bagaimanakah kod JavaScript dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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