Jadual Kandungan
Apakah tiga kaedah untuk mentakrifkan kelas dalam JavaScript
Rumah hujung hadapan web Soal Jawab bahagian hadapan Apakah tiga kaedah untuk menentukan kelas dalam javascript

Apakah tiga kaedah untuk menentukan kelas dalam javascript

Feb 21, 2022 pm 05:13 PM
html javascript hujung hadapan

Tiga cara untuk mentakrifkan kelas dalam JavaScript: 1. Gunakan pembina untuk mentakrifkan kelas, sintaksnya ialah "nama fungsi(){this.name=value;}" 2. Gunakan "Object. kaedah create()" Tentukan kelas; 3. Gunakan kaedah "createNew()" untuk mentakrifkan kelas.

Apakah tiga kaedah untuk menentukan kelas dalam javascript

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

Apakah tiga kaedah untuk mentakrifkan kelas dalam JavaScript

Dalam pengaturcaraan berorientasikan objek, kelas ialah templat objek dan mentakrifkan kumpulan objek yang sama (juga dipanggil "contoh? "). ) sifat dan kaedah biasa.

Bahasa JavaScript tidak menyokong "kelas", tetapi anda boleh menggunakan beberapa penyelesaian untuk mensimulasikan "kelas".

1. Kaedah Pembina

Ini adalah kaedah klasik dan kaedah yang mesti diajar dalam buku teks. Ia menggunakan pembina untuk mensimulasikan "kelas" dan menggunakan kata kunci ini secara dalaman untuk merujuk kepada objek contoh.

function Cat(){
  this.name = "大毛";
}
Salin selepas log masuk

Apabila menjana tika, gunakan kata kunci baharu.

var cat1 = new Cat();
alert(cat1.name);   //大毛
Salin selepas log masuk

Atribut dan kaedah kelas juga boleh ditakrifkan pada objek prototaip pembina.

Cat.prototype.makeSound = function(){
  alert("喵喵喵");
}
Salin selepas log masuk

Untuk pengenalan terperinci kepada kaedah ini, sila lihat siri artikel "Pengaturcaraan Berorientasikan Objek JavaScript", saya tidak akan menerangkan butiran di sini. Kelemahan utamanya ialah ia rumit untuk mengajar, menggunakan ini dan prototaip, dan sangat susah payah untuk menulis dan membaca.

2. Kaedah Object.create()

Untuk menyelesaikan kekurangan "kaedah pembina" dan menjana objek dengan lebih mudah, JavaScript Edisi kelima ECMAScript standard antarabangsa (edisi ketiga sedang popular) mencadangkan kaedah baharu Object.create().

Menggunakan kaedah ini, "kelas" ialah objek, bukan fungsi.

var Cat = {
  name: "大毛",
  makeSound: function(){
    alert("喵喵喵");
  }
};
Salin selepas log masuk

Kemudian, gunakan terus Object.create() untuk menjana tika tanpa menggunakan baharu.

var cat1 = Object.create(Cat);
alert(cat1.name);   //大毛
cat1.makeSound();   //喵喵喵
Salin selepas log masuk

Pada masa ini, versi terkini semua penyemak imbas utama (termasuk IE9) telah menggunakan kaedah ini. Jika anda menemui penyemak imbas lama, anda boleh menggunakan kod berikut untuk menggunakan kod itu sendiri.

if(!Object.create){
  Object.create = function(o){
    function F(){};
    F.prototype = o;
    return new F();
  }
}
Salin selepas log masuk

Kaedah ini lebih mudah daripada "kaedah pembina", tetapi ia tidak boleh melaksanakan sifat persendirian dan kaedah persendirian, ia juga tidak boleh berkongsi data antara objek contoh dan simulasi "kelas" tidak cukup komprehensif .

3. Kaedah Minimalis

Pengaturcara Belanda Gabor de Mooij mencadangkan kaedah baharu yang lebih baik daripada kaedah Object.create() yang mana ia memanggil "pendekatan minimalis". Ini juga kaedah yang saya cadangkan.

3.1 Enkapsulasi

Kaedah ini tidak terpakai untuk ini dan prototaip, dan kod ini sangat mudah untuk digunakan, itulah sebabnya ia dipanggil "kaedah minimalis".

Pertama sekali, ia juga menggunakan objek untuk mensimulasikan "kelas". Dalam kelas ini, tentukan pembina caeateNew() untuk menjana kejadian.

var Cat = {
  createNew: function(){
    //some code here
  }
};
Salin selepas log masuk

Kemudian, dalam carateNew(), takrifkan objek contoh dan gunakan objek contoh ini sebagai nilai pulangan.

var Cat = {
  createNew: function(){
    var cat = {};
    cat.name = "大毛";
    car.makeSound = function(){
      alert("喵喵喵");
    };
  }
};
Salin selepas log masuk

Apabila menggunakannya, panggil kaedah createNew() untuk mendapatkan objek instance.

var cat1 = Cat.createNew();
cat1.makeSound();   //喵喵喵
Salin selepas log masuk

Kelebihan kaedah ini ialah ia mudah difahami, mempunyai struktur yang jelas dan elegan, dan mematuhi konstruk "pengaturcaraan berorientasikan objek" tradisional, jadi ciri berikut boleh digunakan dengan mudah .

Cadangan berkaitan: Tutorial pembelajaran javascript

Atas ialah kandungan terperinci Apakah tiga kaedah untuk menentukan kelas dalam javascript. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.

See all articles