Rumah tutorial komputer pengetahuan komputer Bagaimanakah JavaScript mentakrifkan kaedah seperti sorok yang boleh dipanggil dengan satu klik

Bagaimanakah JavaScript mentakrifkan kaedah seperti sorok yang boleh dipanggil dengan satu klik

Jan 13, 2024 pm 12:12 PM

Bagaimanakah javascript mentakrifkan kaedah yang diklik sama dengan apabila dipanggil oleh hide

Kaedah prototaip. . . . prototaip

Sebagai contoh, tentukan fungsi untuk Array tatasusunan

Array.prototype.in_array = fungsi ($rentetan) { untuk (var i = 0; i

{

untuk (i = 0; i

kembali benar;

}

}

kembali palsu;

}

Anda boleh panggil sahaja

var a = Tatasusunan baharu('a');

a.in_array('a');

Semak sama ada ia wujud

Dalam cth. rentetan

String.prototype.trim = function()

{

kembalikan ini.ganti(/^s*|s*$/g, '');

}

Anda boleh panggil sahaja

var a = 'abcdefg';

a.trime();

Ini akan menghilangkan ruang di kedua-dua belah pihak

Begitu juga dengan fungsi tersuai Mula-mula buat fungsi dan gunakan prototaip untuk menambah kaedah padanya.

Apakah kaedah mentakrifkan objek dalam JavaScript

Beberapa cara untuk mentakrifkan objek Javascript

1 Kaedah kilang: Mula-mula buat objek, kemudian tambah kaedah dan sifat pada objek. Selepas penutupan, elakkan menggunakan operator baharu untuk mencipta objek. Walaupun pendekatan ini mempunyai beberapa kelemahan, seperti apabila mentakrifkan kaedah di dalam fungsi kilang, fungsi baharu akan dibuat setiap kali ia dipanggil.

kilang berfungsi(nama, orang, alamat, masa){

var tmp=Objek baharu;

tmp.name=name;

tmp.person=person;

tmp.address=address;

tmp.workTime=function(){

alert("Masa kita mula bekerja ialah" + masa);

}

kembali tmp;

}

var factory1 = kilang("ubat", 100, "Huashan Rd", 10);

var factory2 = factory("TCMdrugs", 100, "hongqiao Rd", 11);

factory1.workTime();

factory2.workTime();//Di sini, factory1 dan factory2 mempunyai kaedah yang berbeza

Walaupun masalah ini boleh diperbaiki dengan cara berikut, ia tidak mempunyai enkapsulasi yang baik

kilang berfungsi(nama, orang, alamat, masa){

var tmp=Objek baharu;

tmp.name=name;

tmp.person=person;

tmp.address=address;

tmp.workTime=workTime();

kembali tmp;

}

fungsi masa kerja(){

alert("Masa kita mula bekerja ialah" + this.time);

}

2 Kaedah pembina bermaksud menggunakan kata kunci ini di dalam pembina untuk mencipta objek, dan ia perlu dijadikan instantiated melalui operator baharu apabila menggunakannya. Walau bagaimanapun, kaedah ini mempunyai masalah yang sama seperti kaedah kilang, iaitu, setiap kali pembina dipanggil, objek fungsi baru akan dicipta, menyebabkan penciptaan fungsi berulang.

konstruk fungsi(nama, orang, alamat, masa) { //Tulis logik kod anda di sini }

this.name=name;

ini.orang=orang;

ini.alamat=alamat;

this.workTime=function(){

alert("Masa kita mula bekerja ialah" + this.time);

};

}

3. Kaedah prototaip: Gunakan atribut prototaip untuk melaksanakan atribut dan kaedah Anda boleh menyemak jenis objek melalui instanceof, yang menyelesaikan masalah mencipta fungsi berulang kali. Walau bagaimanapun, perlu diingatkan bahawa sifat tidak boleh dimulakan dengan lulus parameter.

kereta berfungsi(){

}

Car.prototype.color = "merah";

Car.prototype.doors = 4;

Car.prototype.mpg = 23;

Car.prototype.showColor = function() {

makluman(warna.ini);

};

var car1 = new Car();

var car2 = new Car();

Tetapi jika anda menghadapi situasi berikut, sesuatu akan berlaku lagi

Car.prototype.drivers = ["mike", "sue"];

car1.drivers.push("matt");

alert(car1.drivers); //Output "mike,sue,matt"

alert(car2.drivers); // Output "mike, sue, matt"

pemandu ialah penunjuk kepada objek Tatasusunan, dan kedua-dua kejadian Kereta merujuk kepada tatasusunan yang sama.

4. Kaedah pembina/prototaip campuran: penyelesaian kepada kaedah prototaip

Kereta berfungsi(sColor, iDoors, iMpg) { this.color = sColor; ini.pintu = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["mike", "sue"];

}

Car.prototype.showColor = fungsi () { // kod anda }

makluman(warna.ini);

};

var car1 = Kereta baharu("merah", 4, 23);

var car2 = Kereta baharu("biru", 3, 25);

car1.drivers.push("matt");

amaran(kereta1.pemandu);

maklum(kereta2.pemandu);

5. Kaedah prototaip dinamik: Ini adalah kaedah yang sangat disyorkan Ia mengelakkan masalah yang berlaku dalam kaedah sebelumnya dan memberikan gaya pengekodan yang lebih mesra.

Kereta berfungsi(sColor, iDoors, iMpg) { this.color = sColor; ini.pintu = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["mike", "sue"];

jika(jenis Kereta.dimulakan == "tidak ditentukan"){

Car.prototype.showColor = fungsi () { // kod anda }

makluman(warna.ini);

};

Kereta.dimulakan = benar;

}

}

var car1 = Kereta baharu("merah", 4, 23);

var car2 = Kereta baharu("biru", 3, 25);

car1.drivers.push("matt");

amaran(kereta1.pemandu);

maklum(kereta2.pemandu);

6. Kaedah kilang campuran: Ia agak serupa dengan kaedah kilang, tetapi menggunakan kata kunci baharu untuk instantiasi. Walaupun ia mempunyai kelemahan yang sama seperti kaedah kilang, ia tidak digalakkan.

Atas ialah kandungan terperinci Bagaimanakah JavaScript mentakrifkan kaedah seperti sorok yang boleh dipanggil dengan satu klik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ketahui Cara Memperbaiki Amaran Kesihatan Drive dalam Tetapan Windows Ketahui Cara Memperbaiki Amaran Kesihatan Drive dalam Tetapan Windows Mar 19, 2025 am 11:10 AM

Apakah peringatan kesihatan pemacu dalam tetapan Windows dan apa yang perlu anda lakukan apabila anda menerima amaran cakera? Baca tutorial Php.CN ini untuk mendapatkan arahan langkah demi langkah untuk mengatasi keadaan ini.

Bagaimana saya mengedit pendaftaran? (Amaran: Gunakan dengan berhati -hati!) Bagaimana saya mengedit pendaftaran? (Amaran: Gunakan dengan berhati -hati!) Mar 21, 2025 pm 07:46 PM

Artikel membincangkan penyuntingan Windows Registry, Langkah berjaga -jaga, kaedah sandaran, dan isu -isu yang berpotensi dari suntingan yang salah. Isu utama: Risiko ketidakstabilan sistem dan kehilangan data dari perubahan yang tidak wajar.

Bagaimana saya menguruskan perkhidmatan di Windows? Bagaimana saya menguruskan perkhidmatan di Windows? Mar 21, 2025 pm 07:52 PM

Artikel membincangkan menguruskan perkhidmatan Windows untuk kesihatan sistem, termasuk permulaan, berhenti, memulakan semula perkhidmatan, dan amalan terbaik untuk kestabilan.

Bagaimana saya menggunakan editor dasar kumpulan (gpEdit.msc)? Bagaimana saya menggunakan editor dasar kumpulan (gpEdit.msc)? Mar 21, 2025 pm 07:48 PM

Artikel ini menerangkan cara menggunakan editor dasar kumpulan (gpEdit.msc) di Windows untuk mengurus tetapan sistem, menonjolkan konfigurasi umum dan kaedah penyelesaian masalah. Ia menyatakan bahawa gpedit.msc tidak tersedia di edisi rumah windows, mencadangkan

Masalah Windows Metadata dan Internet: Bagaimana untuk memperbaikinya? Masalah Windows Metadata dan Internet: Bagaimana untuk memperbaikinya? Apr 02, 2025 pm 03:57 PM

Anda mungkin melihat "Sambungan ke Metadata Windows dan Perkhidmatan Internet (WMIS) tidak dapat ditubuhkan." Ralat pada Penonton Acara. Siaran ini dari Php.cn memperkenalkan cara menghapuskan masalah Windows Metadata dan Internet.

Bagaimana saya menukar aplikasi lalai untuk jenis fail? Bagaimana saya menukar aplikasi lalai untuk jenis fail? Mar 21, 2025 pm 07:48 PM

Artikel membincangkan perubahan aplikasi lalai untuk jenis fail pada Windows, termasuk perubahan semula dan perubahan pukal. Isu utama: Tiada pilihan perubahan pukal terbina dalam.

Bagaimana untuk memperbaiki ralat awan wap? Cuba kaedah ini Bagaimana untuk memperbaiki ralat awan wap? Cuba kaedah ini Apr 04, 2025 am 01:51 AM

Kesalahan awan stim boleh disebabkan oleh banyak sebab. Untuk bermain permainan dengan lancar, anda perlu mengambil beberapa langkah untuk mengeluarkan ralat ini sebelum anda melancarkan permainan. Perisian Php.CN memperkenalkan beberapa cara terbaik serta maklumat yang lebih berguna dalam siaran ini.

Cara menyelesaikan masalah kemas kini KB5035942 - Sistem yang terhempas Cara menyelesaikan masalah kemas kini KB5035942 - Sistem yang terhempas Apr 02, 2025 pm 04:16 PM

Isu Kemas Kini KB5035942 - Sistem terhempas biasanya berlaku kepada pengguna. Orang yang ditimbulkan berharap dapat mencari jalan keluar dari jenis masalah, seperti sistem terhempas, pemasangan, atau masalah bunyi. Menyasarkan situasi ini, jawatan ini diterbitkan oleh Php.CN Wil

See all articles