Rumah  >  Artikel  >  hujung hadapan web  >  Cara Menghantar Objek ke Contoh Kelas dalam JavaScript

Cara Menghantar Objek ke Contoh Kelas dalam JavaScript

Patricia Arquette
Patricia Arquetteasal
2024-10-18 11:43:03236semak imbas

How to Cast Objects to Class Instances in JavaScript

Menghantar Objek ke Contoh Kelas dalam JavaScript

Banyak kes timbul apabila pembangun menghadapi keperluan untuk menghantar objek JavaScript biasa, biasanya diterima daripada pelayan respons, ke dalam contoh kelas tertentu untuk pemprosesan selanjutnya. Keperluan ini timbul apabila objek yang diterima daripada pelayan tidak mempunyai kaedah dan sifat yang diperlukan yang dikaitkan dengan kelas yang diwakilinya.

Prasyarat

Untuk menghantar objek ke dalam contoh kelas, kami mesti memahami perkara berikut terlebih dahulu:

  • Dalam JavaScript, mencipta tika objek memerlukan penggunaan pembinanya.
  • Pembina mengambil hujah khusus, yang mungkin melangkaui sifat mudah.
  • Selepas memanggil pembina, kita mesti menetapkan sifat awam daripada objek JSON yang dihuraikan kepada kejadian yang dibuat.

Penyelesaian

Penyelesaian yang mantap adalah untuk memastikan bahawa setiap pembina boleh menerima objek yang menyerupai contoh (termasuk contoh sebenar) dan mengklonkannya dengan sewajarnya. Ini memastikan logik penciptaan contoh dikendalikan dengan betul.

Pendekatan alternatif dan lebih cekap ialah mencipta kaedah statik dalam kelas untuk menukar objek kepada kejadian:

Person.fromJSON = function(obj) {
    // Custom code for creating instances of Person
    return …;
};

Contoh Khusus

Pertimbangkan contoh ringkas berikut:

function Person() {
    this.personName = "";
    this.animals = [];
}

function Animal(){
    this.animalName = "";
    this.run = function(meters){
        .....
    }
}

Untuk menukar respons JSON, kita boleh menggunakan pendekatan berikut:

var persons = JSON.parse(serverResponse);
for (var i=0; i<persons.length; i++) {
    persons[i] = $.extend(new Person, persons[i]);
    for (var j=0; j<persons[i].animals; j++) {
        persons[i].animals[j] = $.extend(new Animal, persons[i].animals[j]);
    }
}

Nota: Kaedah larian yang disediakan hendaklah ditambahkan pada objek Animal.prototype dan bukannya kejadian individu.

Atas ialah kandungan terperinci Cara Menghantar Objek ke Contoh Kelas 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