js code"."/> js code".">

Rumah >hujung hadapan web >tutorial js >Apa itu defer dalam javascript

Apa itu defer dalam javascript

醉折花枝作酒筹
醉折花枝作酒筹asal
2021-07-21 14:47:593282semak imbas

tunda memberitahu penyemak imbas bahawa segmen Skrip mengandungi kod yang tidak perlu dilaksanakan dengan segera, dan digunakan bersama dengan atribut SRC Ia juga boleh menyebabkan skrip ini dimuat turun di latar belakang, dan kandungan di latar depan dipaparkan kepada pengguna seperti biasa; sintaks "< ;script defer>js code2cacc6d41bbb37262a98f745aa00fbf0".

Apa itu defer dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Ramai orang sudah mahir menggunakan Javascript, tetapi apabila mereka melihat defer, mereka mungkin tidak tahu untuk apa ia digunakan; js sentiasa melaporkan ralat bahawa objek tidak dapat ditemui Seperti yang semua orang tahu, sebabnya ialah halaman itu belum dimuatkan lagi, dan objek operasi js masih dimuat turun. Tetapi ramai orang tidak tahu bahawa menambah tag tangguh boleh menyelesaikan masalah ini dengan mudah. Fungsi penangguhan dalam

<script src="../CGI-bin/delscript.js" defer></script>

adalah untuk melaksanakan skrip selepas dokumen dimuatkan, untuk mengelakkan masalah tidak menemui objek---ada masalah

tambah penangguhan adalah sama dengan Halaman dilaksanakan sepenuhnya selepas ia dimuatkan, yang bersamaan dengan window.onload, tetapi lebih fleksibel dalam aplikasi daripada window.onload!
<button id="myButton" onclick="alert(&#39;ok&#39;)">test</button>
<script>
myButton.click();
</script>

<script>
myButton.click();
</script>
<button id="myButton" onclick="alert(&#39;ok&#39;)">test</button>

<script defer>
function document.body.onload() {
alert(document.body.offsetHeight);
}
</script>

tunda ialah "wira yang tidak didendang" dalam kuasa skrip. Ia memberitahu penyemak imbas bahawa segmen skrip mengandungi kod yang tidak perlu dilaksanakan dengan segera, dan, digunakan bersama dengan atribut SRC, ia juga boleh menyebabkan skrip ini dimuat turun di latar belakang, dan kandungan di latar depan dipaparkan kepada pengguna secara normal.

--Tetapi selepas dokumen dimuatkan, laksanakan skrip

Sila ambil perhatian dua perkara:

1. Jangan panggil perintah document.write dalam jenis penangguhan segmen skrip. Kerana document.write akan menghasilkan kesan output langsung.

2. Selain itu, jangan sertakan sebarang pembolehubah global atau fungsi yang digunakan oleh skrip pelaksanaan segera dalam segmen skrip tangguh.

Cara biasa untuk mengoptimumkan prestasi ialah dengan menetapkan atribut "tunda" dalam teg 03c6714b8e3ee3238fc596020c4901e1 (Skrip segera tidak terkandung dalam blok fungsi, jadi ia akan dilaksanakan semasa proses pemuatan.) Selepas menetapkan atribut "menunda", IE tidak perlu menunggu skrip untuk dimuatkan dan dilaksanakan. Dengan cara ini halaman akan dimuatkan dengan lebih cepat. Secara umumnya, ini juga bermakna bahawa skrip segera diletakkan paling baik dalam blok fungsi dan mengendalikan fungsi dalam pengendali onload dokumen atau objek badan. Sifat ini berguna apabila terdapat skrip yang bergantung pada tindakan pengguna - seperti mengklik butang atau menggerakkan tetikus ke kawasan tertentu. Tetapi apabila terdapat beberapa skrip yang perlu dilaksanakan semasa atau selepas halaman dimuatkan, faedah menggunakan atribut tangguh adalah tidak bagus.

Atribut tangguh dalam skrip adalah palsu secara lalai. Menurut penerangan dalam Panduan Pengaturcaraan DHTML, atribut Defer ditulis seperti ini:

Menggunakan atribut pada masa reka bentuk boleh meningkatkan prestasi muat turun halaman kerana penyemak imbas tidak perlu menghuraikan dan melaksanakan skrip dan boleh terus memuat turun dan menghuraikan halaman sebaliknya.

Dalam erti kata lain: jika anda menambah atribut tangguh semasa menulis skrip, maka penyemak imbas tidak perlu memprosesnya serta-merta apabila memuat turun skrip, tetapi terus memproses halaman tersebut. Muat turun dan huraikan, yang akan meningkatkan prestasi muat turun.

Terdapat banyak situasi sedemikian. Contohnya, jika anda mentakrifkan banyak pembolehubah JavaScript atau menulis banyak skrip dalam fail rujukan (.inc) yang perlu diproses, anda juga boleh menambah atribut tangguh pada skrip ini, yang pasti akan membantu meningkatkan prestasi .

Contohnya:

Oleh kerana atribut tangguh adalah palsu secara lalai, maka di sini
<script language="javascript" defer>
var object = new Object();
....
</script>

secara eksplisit mengisytiharkan atribut tunda adalah bersamaan dengan
<script language="javascript" defer>

Selepas mengisytiharkan atribut tangguh, anda perlu menentukan sama ada pembolehubah lain merujuk kepada pembolehubah dalam blok skrip tangguh, jika tidak, ralat skrip akan berlaku.
<script language="javascript" defer=true>

[Pembelajaran yang disyorkan:

Tutorial JavaScript Lanjutan

]

Atas ialah kandungan terperinci Apa itu defer dalam javascript. 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