cari
Rumahhujung hadapan webtutorial jsPenjelasan terperinci tentang fungsi kilang objek dan pembina dalam corak reka bentuk JavaScript_Pengetahuan asas

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".

Salin kod Kod adalah seperti berikut:

//fungsi kilang
fungsi createPerson(nama, umur, pekerjaan) {                                    var o = Objek baharu();                             o.nama = nama; o.umur = umur; o.job = pekerjaan; o.sayName = fungsi () {                                           console.info(nama.ini); 
};       
return o; } //Gunakan fungsi kilang untuk mencipta objek  
var person1 = createPerson('Zhang San', 29, 'Jurutera Perisian');  
var person2 = createPerson('李思', 40, 'Doctor');





2). Takrifkan pembina objek

a). Huruf pertama pembina objek ditulis dengan huruf besar b). Gunakan kata kunci ini secara dalaman untuk menambah ahli pada objek

c). Gunakan kata kunci baharu untuk memanggil pembina objek



Salin kod

Kod adalah seperti berikut: //Takrifkan fungsi "pembina" objek  fungsi Orang(nama, umur, pekerjaan) { this.name = nama;     ini.umur = umur; this.job = pekerjaan;    
this.sayName = fungsi () {                                              
console.info(nama.ini); }; 
} //Gunakan baru untuk memanggil pembina objek untuk mencipta objek
var p1 = Orang baharu('Zhang San', 29, 'Jurutera Perisian');
var p2 = Orang baharu('李思', 40, 'Doktor');


Seorang "pembina" dipanggil dengan cara biasa


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.


Salin kod

Kod adalah seperti berikut:

//Sebagai pembina dipanggil oleh fungsi biasa, atribut ditambah melalui ini,

//Menjadi sifat dan kaedah objek tetingkap. console.info(window.name);//Zhang San console.info(window.age); //29 console.info(window.job); //Jurutera Perisian
Pembina objek kelihatan seperti ini:




Salin kod

Kod adalah seperti berikut:

fungsi Orang (nama) {

this.name = nama; this.say = fungsi () { kembalikan "Saya " this.name; }; }
Sebenarnya ia seperti ini (memberi isyarat):





Salin kod
Kod adalah seperti berikut:


fungsi Orang (nama) {
// var this = {};
this.name = nama;
this.say = fungsi () {
kembalikan "Saya " this.name;
};
// kembalikan ini;
}

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()

Salin kod Kod adalah seperti berikut:

var person = createPerson('Zhang San', 29, 'Jurutera Perisian');
//Gunakan kaedah kilang untuk mencipta objek,

Atribut pembina merujuk kepada fungsi Object()
console.info(person1.constructor === Objek);

//benar


b). Gunakan pembina objek untuk mencipta objek, dan atribut pembina setiap objek merujuk kepada pembina ini

Salin kod Kod adalah seperti berikut:
var p = Orang baharu('Zhang San', 29, 'Jurutera Perisian');
//Buat objek menggunakan pembina objek,
//Atribut pembina bagi setiap objek merujuk kepada pembina ini
console.info(p.constructor === Orang);
//Benar Bagaimana untuk mengelakkan "melupakan" baharu? Anda boleh menggunakan arguments.callee untuk menyelesaikan masalah ini
//Fahami peranan hujah.callee
fungsi TestArgumentsCallee()
{                                                       console.info(this);     
console.info(contoh TestArgumentsCallee ini); console.info(instanceof arguments.callee);
};  
TestArgumentsCallee(); //window
//salah                                                                                 //salah 
TestArgumentsCallee();
//TestArgumentsCallee                                                             //benar                                                                                   //benar




Jadi, anda boleh menggunakan arguments.callee terus


Salin kod

Kod adalah seperti berikut:


//Elakkan lupa
baharu fungsi MyObject(nilai)
{    
jika (!(instanceof arguments.callee ini))

{                                                   //Jika pemanggil terlupa menambah baharu, cuma tambah baharu dan hubungi semula    

kembali MyObject(nilai);  

}        
this.prop = nilai;
}  
//Ujian
var obj1 = MyObject baharu(100); console.info(obj1.prop);//100
var obj2 = MyObject(200);                
console.info(obj2.prop); //200


Kandungan di atas adalah penjelasan terperinci tentang fungsi kilang objek dan pembina corak reka bentuk JavaScript. Saya harap anda menyukainya.
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
Asal JavaScript: Meneroka Bahasa PelaksanaannyaAsal JavaScript: Meneroka Bahasa PelaksanaannyaApr 29, 2025 am 12:51 AM

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

Di sebalik tabir: Apa bahasa JavaScript?Di sebalik tabir: Apa bahasa JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Masa Depan Python dan JavaScript: Trend dan RamalanMasa Depan Python dan JavaScript: Trend dan RamalanApr 27, 2025 am 12:21 AM

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Python vs JavaScript: Persekitaran dan Alat PembangunanPython vs JavaScript: Persekitaran dan Alat PembangunanApr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Adakah JavaScript ditulis dalam C? Memeriksa buktiAdakah JavaScript ditulis dalam C? Memeriksa buktiApr 25, 2025 am 12:15 AM

Ya, teras enjin JavaScript ditulis dalam C. 1) Bahasa C menyediakan prestasi yang efisien dan kawalan asas, yang sesuai untuk pembangunan enjin JavaScript. 2) Mengambil enjin V8 sebagai contoh, terasnya ditulis dalam C, menggabungkan kecekapan dan ciri-ciri berorientasikan objek C. 3) Prinsip kerja enjin JavaScript termasuk parsing, penyusun dan pelaksanaan, dan bahasa C memainkan peranan penting dalam proses ini.

Peranan JavaScript: Membuat Web Interaktif dan DinamikPeranan JavaScript: Membuat Web Interaktif dan DinamikApr 24, 2025 am 12:12 AM

JavaScript adalah di tengah -tengah laman web moden kerana ia meningkatkan interaktiviti dan dinamik laman web. 1) Ia membolehkan untuk menukar kandungan tanpa menyegarkan halaman, 2) memanipulasi laman web melalui Domapi, 3) menyokong kesan interaktif kompleks seperti animasi dan drag-and-drop, 4) mengoptimumkan prestasi dan amalan terbaik untuk meningkatkan pengalaman pengguna.

C dan JavaScript: Sambungan dijelaskanC dan JavaScript: Sambungan dijelaskanApr 23, 2025 am 12:07 AM

C dan JavaScript mencapai interoperabilitas melalui webassembly. 1) Kod C disusun ke dalam modul WebAssembly dan diperkenalkan ke dalam persekitaran JavaScript untuk meningkatkan kuasa pengkomputeran. 2) Dalam pembangunan permainan, C mengendalikan enjin fizik dan rendering grafik, dan JavaScript bertanggungjawab untuk logik permainan dan antara muka pengguna.

Dari laman web ke aplikasi: Aplikasi pelbagai JavaScriptDari laman web ke aplikasi: Aplikasi pelbagai JavaScriptApr 22, 2025 am 12:02 AM

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.

See all articles

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

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)