Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang contoh delegasi acara untuk pengoptimuman prestasi javascript

Penjelasan terperinci tentang contoh delegasi acara untuk pengoptimuman prestasi javascript

PHPz
PHPzasal
2016-05-16 15:26:031587semak imbas

Artikel ini menganalisis delegasi acara pengoptimuman prestasi JavaScript melalui contoh. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Ikat acara klik untuk setiap LI di bawah

Go somewhereDo somethingSay hi

1. Penulisan tradisional

var item1=document.getElementById("goSomewhere");
var item2=document.getElementById("doSomething");
var item3=document.getElementById("sayHi");
item1.onclick = function(){
  console.log('goSomewhere');
}
item2.onclick = function(){
  console.log('doSomething');
}
item3.onclick = function(){
  alert("hello");
}

Dalam JavaScript, bilangan pengendali acara yang ditambahkan pada halaman akan dikaitkan secara langsung dengan prestasi keseluruhan halaman yang dijalankan prestasi.

Terdapat banyak sebab:

1 Setiap fungsi adalah objek dan akan menduduki memori, semakin teruk prestasinya.
2. Bilangan akses DOM yang disebabkan oleh perlunya menentukan semua pengendali acara terlebih dahulu akan melambatkan masa kesediaan interaktif seluruh halaman.

2. Delegasi acara

Penyelesaian masalah "terlalu ramai pengendali acara" ialah delegasi acara.

Delegasi acara menggunakan acara menggelegak untuk mengurus semua acara jenis tertentu dengan menyatakan hanya satu pengendali acara. Contohnya: peristiwa klik akan menggelembung sehingga ke peringkat dokumen. Iaitu, kita boleh menentukan pengendali acara onclick untuk keseluruhan halaman tanpa perlu menambah pengendali acara untuk setiap elemen yang boleh diklik.

Kaedah delegasi acara:

var list=document.getElementById("myLinks");
list.onclick = function(e){
  var target = e.target;  
  switch(target.id){
   case "goSomewhere":
    console.log('goSomewhere');
    break; 
   case "doSomething":
    console.log('doSomething');
    break; 
   case "sayHi":
    alert("hello");
    break; 
  }
}

3. Kelebihan menggunakan delegasi acara:

1) Objek dokumen boleh diakses dengan cepat dan pengendali acara boleh ditambahkan padanya pada bila-bila masa dalam kitaran hayat halaman (tanpa menunggu DOMContentLoaded atau memuatkan acara). Dalam erti kata lain, sebaik sahaja elemen yang boleh diklik dipaparkan pada halaman, ia berfungsi serta-merta.

2) Kurang masa diperlukan untuk menyediakan pengendali acara dalam halaman. Menambah hanya satu pengendali acara memerlukan lebih sedikit rujukan DOM dan mengambil masa yang lebih singkat.

3) Seluruh halaman menggunakan lebih sedikit ruang memori, yang boleh meningkatkan prestasi keseluruhan.

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

【Tutorial berkaitan yang disyorkan】

1 Tutorial video JavaScript
2 Manual dalam talian JavaScript
3 tutorial bootstrap

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