Berikut ialah penjelasan teks terperinci dan analisis kod untuk berkongsi dengan anda pengetahuan tentang fungsi kilang objek dan pembina corak reka bentuk JavaScript.
Ikhtisar Menggunakan literal objek, atau menambahkan ahli baharu secara dinamik pada objek kosong, ialah cara paling mudah dan paling mudah untuk mencipta objek. Walau bagaimanapun, sebagai tambahan kepada dua kaedah penciptaan objek yang biasa digunakan ini, JavaScript juga menyediakan kaedah lain untuk mencipta objek. 1).Gunakan fungsi kilang untuk mencipta objek Kita boleh menulis fungsi Fungsi ini adalah untuk mencipta objek dan menukarnya.
Ikhtisar
Menggunakan literal objek, atau menambah ahli baharu secara dinamik pada objek kosong, ialah cara paling mudah dan paling mudah untuk mencipta objek.
Walau bagaimanapun, sebagai tambahan kepada dua kaedah penciptaan objek yang biasa digunakan ini, JavaScript juga menyediakan kaedah lain untuk mencipta objek.
1). Cipta objek menggunakan fungsi kilang
Kita boleh menulis fungsi yang fungsinya adalah untuk mencipta objek, yang boleh dipanggil "kaedah kilang objek".
c). Gunakan kata kunci baharu untuk memanggil pembina objek
Salin kod
Pembina sebenarnya adalah fungsi Perbezaannya ialah apabila memanggilnya, kata kunci "baru" mesti ditambah Jika kata kunci ini tidak ditambah, panggilan kepadanya dianggap sebagai panggilan fungsi biasa.
//Sebagai pembina dipanggil oleh fungsi biasa, atribut ditambah melalui ini,
fungsi Orang (nama) {
Kerja yang dilakukan oleh pembina
1. Cipta objek baharu
2. Biarkan pembina ini merujuk kepada objek yang baru dibuat
3. Jalankan kod dalam pembina, yang biasanya melengkapkan kerja menambah sifat pada objek baharu
4. Kembalikan rujukan objek yang baru dibuat kepada dunia luar.
Perbezaan antara pembina objek dan kaedah kilang objek
1. Tiada kod penciptaan objek eksplisit dalam pembina objek
2. Atribut dan kaedah yang sepatutnya ada pada objek baharu ditambah melalui rujukan ini.
3. Tiada pernyataan pulangan dalam pembina objek
Biasanya huruf pertama pembina objek ditetapkan kepada huruf besar untuk membezakannya daripada fungsi biasa.
Sifat pembina objek
a. Gunakan fungsi kilang objek untuk mencipta objek, dan sifat pembina setiap objek merujuk kepada Objek()
Atribut pembina merujuk kepada fungsi Object()
console.info(person1.constructor === Objek);
b). Gunakan pembina objek untuk mencipta objek, dan atribut pembina setiap objek merujuk kepada pembina ini
Jadi, anda boleh menggunakan arguments.callee terus
Kod adalah seperti berikut:
{
//Jika pemanggil terlupa menambah baharu, cuma tambah baharu dan hubungi semula
}
this.prop = nilai;
}
//Ujian
var obj1 = MyObject baharu(100);
console.info(obj1.prop);//100
var obj2 = MyObject(200);
console.info(obj2.prop); //200