Gelagat Asynchronous dan Synchronous JavaScript
Lazimnya dipercayai bahawa JavaScript beroperasi semata-mata sebagai bahasa tak segerak. Walau bagaimanapun, senario tertentu mendedahkan sifat segeraknya, terutamanya apabila mengendalikan manipulasi DOM. Artikel ini bertujuan untuk menjelaskan apabila JavaScript berkelakuan serentak dan tidak segerak, dan cara jQuery memberi kesan kepada tingkah laku ini.
JavaScript Segerak
Bertentangan dengan kepercayaan popular, JavaScript sememangnya segerak. Ini menunjukkan bahawa apabila blok kod JavaScript dilaksanakan pada halaman web, tiada JavaScript lain pada halaman itu berjalan serentak. Oleh itu, manipulasi DOM, seperti:
document.getElementById('element').innerHTML = 'new text';
dilaksanakan secara serentak, serta-merta mengubah kandungan halaman.
Sifat Asynchronous
Sifat tak segerak JavaScript terutamanya ditunjukkan dalam keupayaannya untuk melakukan tindakan seperti panggilan Ajax. Semasa panggilan Ajax, pelaksanaan kod lain diteruskan semasa panggilan belum selesai. Sebaik sahaja panggilan kembali, fungsi panggil balik dilaksanakan secara serentak, tetapi tiada kod lain berjalan serentak.
Begitu juga, pemasa JavaScript menggunakan panggilan balik, membenarkan pelaksanaan kod disambung semula selepas kelewatan yang ditentukan. Walau bagaimanapun, panggilan balik itu sendiri dilaksanakan secara serentak.
Impak jQuery
jQuery menawarkan pilihan konfigurasi untuk panggilan Ajax yang membolehkan pemprosesan segerak (async: false). Walaupun ini boleh memudahkan pengaturcaraan untuk sesetengah pengguna, adalah penting untuk ambil perhatian bahawa panggilan Ajax segerak boleh menyekat semua JavaScript pada halaman, termasuk pengendali acara dan pemasa.
Kesimpulan
JavaScript boleh menjadi kedua-dua segerak dan tak segerak, bergantung pada tugas yang sedang dijalankan. Walau bagaimanapun, adalah penting untuk diingat bahawa semua JavaScript, termasuk panggilan Ajax jQuery, dilaksanakan secara serentak dalam blok masing-masing. Pemprosesan segerak membolehkan manipulasi DOM serta-merta, manakala operasi tak segerak ermöglichen pelaksanaan selari bagi kod dan panggilan balik yang lain.
Atas ialah kandungan terperinci Bilakah JavaScript Segerak, Bilakah Ia Tidak Segerak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!