


Analisis penggunaan acara tersuai dalam kemahiran JavaScript_javascript
Contoh dalam artikel ini menerangkan penggunaan acara tersuai dalam JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Dalam pembangunan bahagian hadapan web, ramai orang mungkin tidak menggunakan acara tersuai bagi js, tetapi jika anda melakukan projek yang agak besar, terutamanya apabila berbilang orang membangun secara kolaboratif, acara tersuai adalah sangat penting. Jadi, apakah acara tersuai dalam js? Mari lihat contoh dahulu:
Pembangun bahagian hadapan A merangkum fungsi:
alert(a); //Ini mewakili N baris kod
}
Selepas beberapa ketika, pembangun bahagian hadapan B akan memperkayakan fungsi ini berdasarkan A, jadi dia akan menulis seperti ini:
alert(a); //Ini mewakili N baris kod
alert(b); //Ini mewakili N baris kod
}
Adakah anda menemui masalah? B harus memberi perhatian kepada isu penamaan dan konflik dengan pembolehubah, fungsi, dll. Selepas beberapa ketika, pembangun bahagian hadapan C juga akan memperkayakan fungsi ini, jadi:
alert(a); //Ini mewakili N baris kod
alert(b); //Ini mewakili N baris kod
alert(c); //Ini mewakili N baris kod
}
Ia akan menjadi sangat mengecewakan pada masa ini, dan saya pasti ia tidak akan mudah untuk menulis kod dalam C. Cara untuk menyelesaikan masalah ini adalah dengan menggunakan acara tersuai Kami tahu bahawa acara yang sama boleh ditambahkan pada elemen tanpa menjejaskan satu sama lain, seperti:
makluman(1);
} ,salah);
window.addEventListener('klik',function(){
makluman(2);
} ,salah);
Apabila mengklik pada halaman, kedua-dua 1 dan 2 akan muncul, maka kita boleh menggunakan kaedah ini untuk menentukan fungsi kita:
makluman(3);
} ,salah);
window.addEventListener('move',function(){
makluman(4);
} ,salah);
Dengan cara ini, apabila kita melaksanakan move();, 3 dan 4 akan muncul Pergerakan di sini ialah acara tersuai, yang sebenarnya merupakan fungsi
Mari lihat cara menghantar parameter kepada pengendali acara:
function createFunction(obj, strFunc) {
var args = []; //Define args untuk menyimpan parameter yang dihantar kepada pengendali acara
Jika (!obj) obj = window; //Jika ia adalah fungsi global, obj=window
//Dapatkan parameter diserahkan kepada pengendali acara
untuk (var i = 2; i < arguments.length; i ) args.push(arguments[i]);
//Gunakan fungsi tanpa parameter untuk merangkum panggilan pengendali acara
Kembalikan fungsi() {
obj[strFunc].apply(obj, args); // Hantar parameter kepada pengendali acara yang ditentukan
}
}
kelas fungsi1() {
}
kelas1.prototaip = {
tunjukkan: function() {
This.onShow();
},
onShow: function() { }
}
fungsi objOnShow(Nama pengguna) {
alert("hello," nama pengguna);
}
ujian fungsi() {
var obj = new class1();
var userName = "ujian";
obj.onShow = createFunction(null, "objOnShow", nama pengguna);
Obj.show();
}
"Oleh kerana mekanisme acara hanya menghantar nama fungsi tanpa sebarang maklumat parameter, parameter tidak boleh dihantar kemudian." Fikirkan tentang cara memasukkan parameter, tetapi pertimbangkan cara membina pengendali acara tanpa parameter Program ini dibuat berdasarkan pengendali acara dengan parameter dan merupakan pakej luar "Program" di sini ialah fungsi createFunction fungsi guna untuk merangkum fungsi dengan parameter ke dalam fungsi tanpa parameter. Akhir sekali, mari kita lihat cara melaksanakan berbilang pengikatan acara tersuai:
//Merangkum fungsi dengan parameter ke dalam fungsi tanpa parameter
function createFunction(obj, strFunc) {
var args = []; //Define args untuk menyimpan parameter yang dihantar kepada pengendali acara
Jika (!obj) obj = window; //Jika ia adalah fungsi global, obj=window
//Dapatkan parameter diserahkan kepada pengendali acara
untuk (var i = 2; i < arguments.length; i ) args.push(arguments[i]);
//Gunakan fungsi tanpa parameter untuk merangkum panggilan pengendali acara
Kembalikan fungsi() {
obj[strFunc].apply(obj, args); // Hantar parameter kepada pengendali acara yang ditentukan
}
}
kelas fungsi1() {
}
kelas1.prototaip = {
tunjukkan: function() {
jika (ini.onShow) {
untuk (var i = 0; i < this.onShow.length; i ) {
This.onShow[i]();
}
}
},
attachOnShow: function(_eHandler) {
Jika (!this.onShow) { this.onShow = []; This.onShow.push(_eHandler);
}
}
fungsi objOnShow(Nama pengguna) {
alert("hello," nama pengguna);
}
fungsi objOnShow2(testName) {
alert("show:" testName);
}
ujian fungsi() {
var obj = new class1();
var userName = "nama anda";
Obj.attachOnShow(createFunction(null, "objOnShow", nama pengguna));
Obj.attachOnShow(createFunction(null, "objOnShow2", "test message"));
Obj.show();
}
Funktion createFunction(obj, strFunc) {
var args = []; //Argumente definieren, um die an den Event-Handler
übergebenen Parameter zu speichern If (!obj) obj = window; //Wenn es eine globale Funktion ist, obj=window; //Die an den Event-Handler
übergebenen Parameter abrufen for (var i = 2; i < arguments.length; i ) args.push(arguments[i]);
//Verwenden Sie eine Funktion ohne Parameter, um den Aufruf des Ereignishandlers
zu kapseln Rückgabefunktion() {
obj[strFunc].apply(obj, args); // Parameter an den angegebenen Event-Handler übergeben
}
}
Funktion class1() {
}
class1.prototype = {
show: function() {
if (this.onShow) {
for (var i = 0; i < this.onShow.length; i ) {
This.onShow[i]();
}
}
},
attachmentOnShow: function(_eHandler) { // Ereignis anhängen
If (!this.onShow) { this.onShow = []; This.onShow.push(_eHandler);
},
detachOnShow: function(_eHandler) { // Ereignis entfernen
If (!this.onShow) { this.onShow = []; This.onShow.pop(_eHandler);
}
}
Funktion objOnShow(userName) {
alarm("Hallo", Benutzername); }
Funktion objOnShow2(testName) {
alarm("show:" testName);
}
Funktionstest() {
var obj = new class1();
var userName = "Ihr Name";
Obj.attachOnShow(createFunction(null, "objOnShow", userName));
Obj.attachOnShow(createFunction(null, "objOnShow2", "test message"));
Obj.show();
obj.detachOnShow(createFunction(null, "objOnShow", userName));
Obj.show(); // Eines entfernen und das verbleibende anzeigen
obj.detachOnShow(createFunction(null, "objOnShow2", "test message"));
Obj.show(); // Beide entfernen und keines anzeigen
}
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Avatar di Netflix ialah representasi visual identiti penstriman anda. Pengguna boleh melangkaui avatar lalai untuk menyatakan keperibadian mereka. Teruskan membaca artikel ini untuk mengetahui cara menetapkan gambar profil tersuai dalam apl Netflix. Cara cepat menetapkan avatar tersuai dalam Netflix Dalam Netflix, tiada ciri terbina dalam untuk menetapkan gambar profil. Walau bagaimanapun, anda boleh melakukan ini dengan memasang sambungan Netflix pada penyemak imbas anda. Mula-mula, pasang gambar profil tersuai untuk sambungan Netflix pada penyemak imbas anda. Anda boleh membelinya di kedai Chrome. Selepas memasang sambungan, buka Netflix pada penyemak imbas anda dan log masuk ke akaun anda. Navigasi ke profil anda di penjuru kanan sebelah atas dan klik

Bagaimana untuk menyesuaikan tetapan kekunci pintasan dalam Eclipse? Sebagai pembangun, menguasai kekunci pintasan ialah salah satu kunci untuk meningkatkan kecekapan semasa pengekodan dalam Eclipse. Sebagai persekitaran pembangunan bersepadu yang berkuasa, Eclipse bukan sahaja menyediakan banyak kekunci pintasan lalai, tetapi juga membenarkan pengguna untuk menyesuaikannya mengikut keutamaan mereka sendiri. Artikel ini akan memperkenalkan cara untuk menyesuaikan tetapan kekunci pintasan dalam Eclipse dan memberikan contoh kod khusus. Buka Eclipse First, buka Eclipse dan masukkan

Klasifikasi dan Analisis Penggunaan Komen JSP Komen JSP terbahagi kepada dua jenis: komen satu baris: berakhir dengan, hanya satu baris kod boleh diulas. Komen berbilang baris: bermula dengan /* dan berakhir dengan */, anda boleh mengulas berbilang baris kod. Contoh ulasan satu baris Contoh ulasan berbilang baris/**Ini ialah ulasan berbilang baris*Boleh mengulas pada berbilang baris kod*/Penggunaan ulasan JSP Komen JSP boleh digunakan untuk mengulas kod JSP agar lebih mudah dibaca

1. Gambar di bawah ialah susun atur skrin lalai bagi edius Tataletak tetingkap EDIUS lalai adalah susun atur mendatar Oleh itu, dalam persekitaran monitor tunggal, banyak tetingkap bertindih dan tetingkap pratonton berada dalam mod tetingkap tunggal. 2. Anda boleh mendayakan [Dual Window Mode] melalui bar menu [View] untuk menjadikan tetingkap pratonton memaparkan tetingkap main balik dan tetingkap rakaman pada masa yang sama. 3. Anda boleh memulihkan reka letak skrin lalai melalui [Lihat bar menu>Reka Letak Tetingkap>Umum]. Selain itu, anda juga boleh menyesuaikan reka letak yang sesuai dengan anda dan menyimpannya sebagai susun atur skrin yang biasa digunakan: seret tetingkap ke susun atur yang sesuai dengan anda, kemudian klik [Lihat > Reka Letak Tetingkap > Simpan Reka Letak Semasa > Baharu], dan dalam pop timbul [Save Current Layout] Layout] masukkan nama susun atur dalam tetingkap kecil dan klik OK

WPS ialah suite perisian pejabat yang biasa digunakan, dan fungsi jadual WPS digunakan secara meluas untuk pemprosesan dan pengiraan data. Dalam jadual WPS, terdapat fungsi yang sangat berguna, fungsi DATEDIF, yang digunakan untuk mengira perbezaan masa antara dua tarikh. Fungsi DATEDIF ialah singkatan daripada perkataan Inggeris DateDifference Sintaksnya adalah seperti berikut: DATEDIF(start_date,end_date,unit) dengan start_date mewakili tarikh mula.

Cara menggunakan fungsi keluar dalam bahasa C memerlukan contoh kod khusus Dalam bahasa C, kita selalunya perlu menamatkan pelaksanaan program pada awal program, atau keluar dari program dalam keadaan tertentu. Bahasa C menyediakan fungsi exit() untuk melaksanakan fungsi ini. Artikel ini akan memperkenalkan penggunaan fungsi exit() dan memberikan contoh kod yang sepadan. Fungsi exit() ialah fungsi perpustakaan standard dalam bahasa C dan disertakan dalam fail pengepala. Fungsinya adalah untuk menamatkan pelaksanaan program, dan boleh mengambil integer

Dalam jadual excel, kadangkala anda mungkin perlu memasukkan paksi koordinat untuk melihat perubahan arah aliran data dengan lebih intuitif. Sesetengah rakan masih tidak tahu cara memasukkan paksi koordinat dalam jadual Seterusnya, saya akan berkongsi dengan anda cara menyesuaikan skala paksi koordinat dalam Excel. Kaedah pemasukan paksi koordinat: 1. Dalam antara muka excel, pilih data. 2. Dalam antara muka sisipan, klik untuk memasukkan carta lajur atau carta bar. 3. Dalam antara muka yang dikembangkan, pilih jenis grafik. 4. Dalam antara muka klik kanan jadual, klik Pilih Data. 5. Dalam antara muka yang diperluaskan, anda boleh menyesuaikannya.

Fungsi ISNULL() dalam MySQL ialah fungsi yang digunakan untuk menentukan sama ada ungkapan atau lajur yang ditentukan adalah NULL. Ia mengembalikan nilai Boolean, 1 jika ungkapan itu NULL, 0 sebaliknya. Fungsi ISNULL() boleh digunakan dalam pernyataan SELECT atau untuk pertimbangan bersyarat dalam klausa WHERE. 1. Sintaks asas fungsi ISNULL(): ISNULL(ungkapan) di mana ungkapan ialah ungkapan untuk menentukan sama ada ia NULL atau
