Ada beberapa mode dalam JS yang dapat membuat objek, dan mengoperasikan properti dan metode yang terkandung dalam objek.
Secara umum, huruf pertama dari nama konstruktor adalah huruf kapital, dan huruf pertama dari nama non-konstruktor adalah huruf kecil. Tentu saja, satu -satunya perbedaan antara konstruktor dan fungsi umum adalah perbedaan dalam cara memanggil. Oleh karena itu, selama fungsi apa pun dipanggil melalui yang baru, ia dapat digunakan sebagai konstruktor. Jika tidak dipanggil melalui yang baru, itu sama dengan fungsi umum.
Izinkan saya berbicara tentang pemahaman saya tentang pola -pola ini:
Mode Pabrik: Buat fungsi umum, buat objek objek dalam fungsi, tambahkan atribut dan metode ke objek, tetapkan nilainya, dan akhirnya mengembalikan objek. Jenis objek tidak dapat dikenali.
Mode Konstruktor: Buat konstruktor, gunakan ini untuk menetapkan nilai, dan setiap kali contoh dibuat, metode dibuat sekali, dan setiap metode menjalankan perintah yang sama, yang berlebihan. Kerugian ini dapat dilakukan dengan menempatkan metode ini ke dalam lingkungan global, tetapi dengan cara ini tidak ada enkapsulasi. Namun, dapat diselesaikan melalui mode prototipe.
Pola Prototipe: Setiap fungsi memiliki properti prototipe, yang merupakan pointer, menunjuk ke objek yang berisi properti dan metode yang dibagikan oleh semua contoh yang dibuat oleh fungsinya.
Hubungan antara objek prototipe, konstruktor dan instance adalah sebagai berikut:
Ilustrasi: 1: Konstruktor dan instance yang dibuat oleh konstruktor, atribut prototipe mereka menunjuk ke objek prototipe konstruktor.
2: Objek prototipe konstruktor memiliki atribut konstruktor, yang menunjuk ke konstruktor.
3: Semua properti dan metode yang terkandung dalam objek prototipe konstruktor dapat dibagikan oleh semua contoh yang dibuat oleh konstruktor.
Setelah menulis ulang objek prototipe menggunakan objek literal, konstruktor menunjuk ke konstruktor objek. Jika diperlukan untuk menunjuk ke konstruktor lain, Anda perlu memodifikasi nilai atribut konstruktor dari objek prototipe, seperti: konstruktor: orang. Dengan cara ini, bahkan jika objek prototipe orang ditulis ulang, konstruktor objek prototipe masih menunjuk ke konstruktor orang.
Saat membuat instance terlebih dahulu: Jika Anda menambahkan properti atau metode secara langsung, instance dapat diakses.
Jika objek prototipe ditulis ulang, prototipe konstruktor menunjuk ke objek prototipe baru, sedangkan prototipe instance yang dibuat sebelumnya masih menunjuk ke objek prototipe asli, sehingga instance tidak dapat mengakses properti baru atau metode baru dari objek prototipe baru.
Objek prototipe berisi properti dan metode bersama, sehingga setiap instance memiliki informasi ini, sehingga tidak ada perbedaan antara contoh, dan parameter tidak dapat dilewati, yang bukan yang kita inginkan. Setiap instance memiliki informasi umum dan informasi yang berbeda, sehingga kami dapat menggunakan kombinasi mode konstruktor dan mode prototipe.
Gunakan kombinasi mode konstruktor dan mode prototipe:
Pola prototipe status: Gabungkan konstruktor independen dengan objek prototipe mereka, inisialisasi prototipe dalam konstruktor, dan tambahkan metode ke dalamnya.
Jika metode tidak ada, itu ditambahkan ke objek prototipe dan dieksekusi hanya ketika prototipe diinisialisasi, dan hanya sekali.
Mode Konstruktor Parasit: Mirip dengan mode pabrik, perbedaannya adalah: Mode konstruktor parasit adalah konstruktor, dan instance dibuat melalui yang baru.
Pola konstruktor yang stabil: Tidak ada sifat publik, dan metodenya tidak merujuk pada objek ini. Tidak ada baru yang digunakan saat membuat instance. Hanya akses ke properti (mis., Data yang masuk) dilakukan melalui metode.
Pengantar di atas untuk beberapa mode objek pembuatan JavaScript adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.