Penempatan teg dalam dokumen HTML memberi kesan ketara kepada pemasaan pelaksanaan JavaScript berbanding pemaparan kandungan HTML. Panduan ini meneroka empat pendekatan utama, memperincikan proses pelaksanaannya dan kes penggunaan optimum. 1. Tag dalam // JavaScript code here Script in Head Hello, World! Proses Pelaksanaan: Pelayar menghuraikan dokumen HTML dari atas ke bawah. Apabila menemui teg dalam , pemaparan HTML dijeda semasa skrip memuat turun dan melaksanakan. Selepas pelaksanaan skrip, penyemak imbas menyambung semula pemprosesan HTML. Kelemahan: Skrip besar atau muat perlahan boleh menangguhkan pemaparan halaman, mengakibatkan skrin kosong. Percubaan untuk memanipulasi elemen DOM dalam skrip ini mungkin gagal kerana elemen belum dimuatkan. Kes Penggunaan Ideal: Skrip yang mengandungi fungsi yang tidak diperlukan serta-merta, seperti analitis atau kod konfigurasi. 2. Tag di penghujung Script at Bottom Hello, World! // JavaScript code here Proses Pelaksanaan: Pelayar memuatkan dan memaparkan keseluruhan kandungan HTML. Teg pada penghujung diproses dan dilaksanakan selepas pemaparan halaman. Kelebihan: Memastikan pemuatan HTML lengkap sebelum pelaksanaan skrip. Menghalang kelewatan pemaparan, meningkatkan pengalaman pengguna. Elemen DOM tersedia untuk dimanipulasi. Kelemahan: Masa muat halaman meningkat sedikit apabila pelaksanaan JavaScript berlaku selepas pemaparan HTML penuh. Kes Penggunaan Ideal: Skrip yang berinteraksi dengan kandungan halaman (cth., pendengar acara, pengubahsuaian elemen). 3. Teg dengan async Atribut Script with Async Hello, World! Proses Pelaksanaan: Pelayar memuatkan HTML secara berurutan. Apabila menemui skrip async, ia memuat turun skrip secara serentak sambil meneruskan pemuatan HTML. Setelah dimuat turun, skrip dilaksanakan serta-merta, menjeda pemaparan sebentar, kemudian menyambung semula pemuatan HTML. Kelebihan: Tidak menyekat: Pemuatan skrip berlaku di latar belakang tanpa melengahkan pemaparan halaman. Pemuatan halaman yang lebih pantas disebabkan oleh muat turun selari. Kelemahan: Skrip mungkin dilaksanakan dalam susunan yang tidak dapat diramalkan jika terdapat beberapa skrip async. Skrip yang bergantung pada struktur HTML mungkin dilaksanakan lebih awal, menyebabkan ralat. Kes Penggunaan Ideal: Skrip bebas seperti analitis, iklan atau widget media sosial tidak bergantung pada skrip atau elemen HTML lain. 4. Teg dengan defer Atribut // JavaScript code here Script in Head Hello, World! Proses Pelaksanaan: Pelayar memuatkan HTML secara berurutan. Skrip defer dimuat turun serentak dengan HTML tetapi dilaksanakan hanya selepas keseluruhan HTML dihuraikan. Pelaksanaan berlaku sejurus sebelum acara DOMContentLoaded. Kelebihan: Memastikan pelaksanaan skrip selepas pemuatan halaman selesai. Mengekalkan susunan pelaksanaan skrip jika berbilang defer skrip digunakan. Sesuai untuk skrip yang bergantung pada DOM yang tersedia sepenuhnya. Kes Penggunaan Ideal: Skrip memanipulasi DOM selepas ia dimuatkan sepenuhnya. Jadual Perbandingan Kaedah Masa Pelaksanaan Perenderan Sekat Kes Penggunaan Terbaik Method Execution Time Blocks Rendering Best Use Case in Before HTML load Yes Configuration, early execution logic at end of After HTML load No DOM manipulation, event handling When script is downloaded No (except during execution) Analytics, ads, independent scripts After HTML parse No DOM-dependent scripts dalam Sebelum dimuatkan HTML Ya Konfigurasi, logik pelaksanaan awal pada akhir Selepas dimuatkan HTML Tidak Manipulasi DOM, pengendalian acara Apabila skrip dimuat turun Tidak (kecuali semasa pelaksanaan) Analitik, iklan, skrip bebas Selepas penghuraian HTML Tidak skrip bergantung kepada DOM table> Kesimpulan: Amalan Terbaik Gunakan pada penghujung untuk skrip yang berinteraksi dengan kandungan halaman dan memerlukan DOM yang dimuatkan sepenuhnya. Gunakan untuk skrip bebas seperti analitis dan iklan. Letakkan skrip di bahagian bawah async jika tiada atribut digunakan untuk pemuatan halaman yang lancar.defer Elakkan meletakkan skrip dalam tanpa atau melainkan benar-benar perlu untuk mengelakkan sekatan rendering. Menguasai penggunaan teg adalah penting untuk mengoptimumkan aplikasi web. Memilih antara skrip sebaris, dalaman, luaran, tak segerak atau tertunda membolehkan peningkatan prestasi, kebolehselenggaraan kod yang lebih baik dan pengalaman pengguna yang unggul.