1. Apakah itu pembina
Dalam sesetengah bahasa berorientasikan objek, seperti Java, C dan PHP, pembina adalah sangat biasa. Dalam Javascript, pembina ialah fungsi biasa, yang boleh dipanggil menggunakan operator baharu dan menjana objek jenis khas.
Dalam contoh di atas, benjamin ialah objek Benjamin, jadi bagaimanakah ia instantiated?
Seperti yang dapat kita lihat, pembina "Benjamin" hanya menerima parameter yang dihantar dan memberikannya kepada objek ini. Ini kerana apabila pembina dipanggil oleh pengendali baharu, objek pembina ini diberikan objek yang dikembalikan oleh operasi baharu.
Ini bermakna kod di atas adalah bersamaan dengan:
2. Mengapa menggunakan pembina
Terdapat beberapa sebab mengapa pembina digunakan:
1. Menggunakan pembina bermakna semua objek ini boleh dibuat menggunakan struktur asas yang sama
2. Menggunakan pembina bermakna objek "benjamin" ditandakan secara eksplisit sebagai contoh fungsi "Benjamin"
3. Menggunakan pembina bermakna kita boleh menentukan kaedah awam pada prototaip untuk perkongsian dengan berbilang kejadian
3. Langkah berjaga-jaga
1.kata kunci baharu
Jangan lupa untuk menggunakan kata kunci baharu apabila membuat instantiat pembina Sama ada menggunakan kata kunci baharu mempunyai kesan yang besar pada objek ini Tanpa kata kunci baharu, objek ini akan menunjuk ke objek global (tetingkap dalam pelayar dan global nod). Oleh itu, apabila mentakrifkan pembina, adalah disyorkan bahawa huruf pertama nama fungsi itu ditulis dengan huruf besar.
2. Jika fungsi yang dipanggil tidak mempunyai ungkapan pulangan yang jelas, ia akan mengembalikan objek ini secara tersirat - iaitu, objek yang baru dibuat Jika tidak, ia akan menjejaskan hasil yang dikembalikan, tetapi hanya jika ia mengembalikan objek
Apa yang perlu kita beri perhatian ialah:
a) new Bar() mengembalikan objek yang baru dibuat, bukan nilai literal nombor 2. Oleh itu new Bar().constructor === Bar, tetapi jika objek berangka dikembalikan, hasilnya berbeza;
b) Ujian() baharu yang diperoleh di sini ialah objek yang dikembalikan oleh fungsi, bukan objek yang baru dibuat melalui kata kunci baharu, seperti yang ditunjukkan di bawah:
Di atas adalah ringkasan fungsi konstruktor Saya harap ia akan membantu untuk pemula.