Rumah > Artikel > hujung hadapan web > Adakah JavaScript segerak atau tak segerak, dan adakah ia satu benang atau berbilang benang? Bagaimanakah kod JavaScript dilaksanakan?
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).
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).
Untuk fungsi, keseluruhan kod fungsi disimpan dalam ingatan. Untuk pembolehubah, nilai khas, tidak ditentukan, disimpan pada mulanya.
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!