Rumah hujung hadapan web tutorial js Penjelasan terperinci tentang kemahiran JavaScript constructor_javascript

Penjelasan terperinci tentang kemahiran JavaScript constructor_javascript

May 16, 2016 pm 03:23 PM
Pembina

Pembina adalah untuk memulakan objek contoh, dan atribut prototaip objek adalah untuk mewarisi objek contoh.

Nota Pembina:

1. Huruf pertama fungsi lalai ditulis dengan huruf besar

2. Pembina tidak mengembalikan apa-apa. Operator baharu secara automatik mencipta jenis yang diberikan dan mengembalikannya Apabila pembina dipanggil, baru secara automatik mencipta objek ini, dan jenisnya ialah jenis pembina.

3. Anda juga boleh memanggil pulangan secara eksplisit dalam pembina Jika nilai yang dikembalikan ialah objek, ia akan dikembalikan dan bukannya contoh objek yang baru dibuat. Jika nilai yang dikembalikan adalah jenis primitif, ia diabaikan dan contoh yang baru dibuat dikembalikan. 

 function Person( name){
        this.name =name;
      }
       var p1=new Person('John');
Salin selepas log masuk

bersamaan dengan:

   function person(name ){
        Object obj =new Object();
        obj.name =name;
         return obj;
      }
       var p1= person("John");
Salin selepas log masuk

4. Kerana pembina juga merupakan fungsi, ia boleh dipanggil secara langsung, tetapi nilai pulangannya tidak ditentukan Pada masa ini, objek ini dalam pembina adalah sama dengan objek global ini. this.name sebenarnya mencipta nama pembolehubah global. Dalam mod ketat, ralat berlaku apabila anda memanggil pembina Orang melalui baharu.

5. Anda juga boleh menggunakan kaedah Object.defineProperty() dalam pembina untuk membantu kami memulakan:

  function Person( name){
        Object.defineProperty(this, "name"{
          get :function(){
             return name;
          },
           set:function (newName){
            name =newName;
          },
          enumerable :true, //可枚举,默认为false
           configurable:true //可配置
         });
      }  
       var p1=new Person('John');
Salin selepas log masuk

6. Gunakan objek prototaip dalam pembina

 //比直接在构造函数中写的效率要高的多
       Person.prototype.sayName= function(){
         console.log(this.name);
      };
Salin selepas log masuk

Tetapi jika terdapat banyak kaedah, kebanyakan orang akan menggunakan kaedah yang lebih mudah: secara langsung menggantikan objek prototaip dengan objek literal, seperti berikut:

 Person.prototype ={
        sayName :function(){
           console.log(this.name);
        },
        toString :function(){
           return "[Person "+ this.name+"]" ;
        }
      };
Salin selepas log masuk
Kaedah ini sangat popular kerana anda tidak perlu menaip Person.prototype beberapa kali, tetapi terdapat kesan sampingan yang perlu anda perhatikan:

Menulis semula objek prototaip menggunakan bentuk literal mengubah sifat pembina, jadi ia menunjuk kepada Objek dan bukannya Orang. Ini kerana objek prototaip mempunyai sifat pembina, yang tidak mempunyai contoh objek lain. Apabila fungsi dicipta, sifat prototaipnya juga dicipta, dan sifat pembina objek prototaip menunjuk ke fungsi. Apabila objek prototaip ditulis semula menggunakan bentuk literal objek, sifat pembinanya akan ditetapkan kepada Objek objek generik Untuk mengelakkan ini, anda perlu menetapkan semula pembina secara manual apabila menulis semula objek prototaip, seperti berikut:


 Person.prototype ={
        constructor :Person,
        
        sayName :function(){
           console.log(this.name);
        },        
        toString :function(){
           return "[Person "+ this.name+"]" ;
        }
      };
Salin selepas log masuk
Uji sekali lagi:

p1.constructor===Orang


benar


p1.constructor===Objek


palsu


p1 contoh Orang


benar

Kenyataan Laman Web ini
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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembina dalam Python Pembina dalam Python Sep 02, 2023 pm 04:29 PM

Dalam Python, setiap kelas mempunyai pembina, iaitu kaedah khas yang ditentukan di dalam kelas. Pembina/pemula akan dipanggil secara automatik apabila objek baharu dicipta untuk kelas. Apabila objek dimulakan, pembina memberikan nilai kepada ahli data dalam kelas. Tidak perlu mentakrifkan pembina secara eksplisit. Tetapi untuk mencipta pembina, kita perlu mengikut peraturan berikut - Untuk kelas, ia dibenarkan hanya mempunyai satu pembina. Nama pembina mestilah __init__. Pembina mesti ditakrifkan menggunakan sifat contoh (hanya nyatakan kata kunci diri sebagai hujah pertama). Ia tidak boleh mengembalikan sebarang nilai kecuali Tiada. Syntax classA():def__init__(self):pass Contoh Pertimbangkan contoh berikut dan

Ralat sintaks C++: Pembina yang ditakrifkan di luar kelas mesti ditambah dengan nama kelas sebagai kelayakan Bagaimana ia harus diperbetulkan? Ralat sintaks C++: Pembina yang ditakrifkan di luar kelas mesti ditambah dengan nama kelas sebagai kelayakan Bagaimana ia harus diperbetulkan? Aug 22, 2023 pm 02:00 PM

C++ ialah bahasa pengaturcaraan berorientasikan objek yang digunakan secara meluas Apabila mentakrifkan pembina kelas dalam C++, jika anda ingin meletakkan definisi pembina di luar kelas, anda perlu menambah nama kelas sebagai penentu kepada takrifan. pembina. Untuk menentukan kelas mana pembina ini tergolong. Ini adalah peraturan asas sintaks C++. Jika peraturan ini tidak dipatuhi semasa mentakrifkan pembina kelas, ralat kompilasi akan muncul, menggesa "Pembina yang ditakrifkan di luar kelas mesti layak dengan nama kelas." Jadi, jika anda menghadapi ralat kompilasi seperti ini, anda sepatutnya

Adakah bahasa go mempunyai pembina? Adakah bahasa go mempunyai pembina? Jan 10, 2023 pm 02:15 PM

Bahasa Go tidak mempunyai pembina. Bahasa Go, sebagai bahasa berstruktur, tidak mempunyai pembina dalam bahasa berorientasikan objek Walau bagaimanapun, kesan serupa pembina dalam bahasa berorientasikan objek boleh dicapai dalam beberapa cara, iaitu, menggunakan proses permulaan struktur untuk mensimulasikan. pelaksanaan pembina.

Apakah pembina? Penjelasan terperinci tentang pembina dalam JavaScript Apakah pembina? Penjelasan terperinci tentang pembina dalam JavaScript Aug 04, 2022 pm 03:22 PM

Sebagai asas kepada prototaip dan rantaian prototaip, terlebih dahulu memahami pembina dan proses pelaksanaannya boleh membantu kita mempelajari pengetahuan prototaip dan rantai prototaip dengan lebih baik. Artikel ini akan membawa anda untuk mengetahui lebih lanjut tentang pembina dalam JavaScript dan memperkenalkan cara menggunakan pembina untuk mencipta objek js. Saya harap ia akan membantu anda!

Ralat C++: Pembina mesti diisytiharkan di kawasan awam, bagaimana untuk menanganinya? Ralat C++: Pembina mesti diisytiharkan di kawasan awam, bagaimana untuk menanganinya? Aug 21, 2023 pm 08:26 PM

Dalam pengaturcaraan C++, pembina ialah fungsi penting yang digunakan untuk memulakan pembolehubah ahli kelas. Ia dipanggil secara automatik apabila objek dicipta untuk memastikan pemulaan objek yang betul. Pembina mesti diisytiharkan dalam kelas, tetapi kadangkala anda akan menemui mesej ralat "Pembina mesti diisytiharkan di kawasan awam." Ralat ini biasanya disebabkan oleh pengubah suai akses yang salah pada pembina. Dalam C++, pembolehubah ahli dan fungsi ahli kelas mempunyai pengubah suai akses, termasuk awam, peribadi dan dilindungi.

Ralat sintaks C++: Pembina dengan hanya satu parameter mesti diisytiharkan secara eksplisit Bagaimana untuk menyelesaikannya? Ralat sintaks C++: Pembina dengan hanya satu parameter mesti diisytiharkan secara eksplisit Bagaimana untuk menyelesaikannya? Aug 22, 2023 am 09:01 AM

Dalam pengaturcaraan C++, anda mungkin menghadapi mesej ralat berikut: Pembina dengan hanya satu parameter mesti diisytiharkan secara eksplisit. Mesej ralat ini mungkin mengelirukan pemula Seterusnya, mari kita lihat apa yang jelas dalam C++, sebab mengapa mesej ralat ini muncul dan cara menyelesaikan masalah ini. Peranan eksplisit dalam C++, jika kita menentukan pembina yang hanya menerima satu parameter, maka kita perlu menggunakan kata kunci eksplisit

Mari kita bincangkan tentang cara menggunakan fungsi Object() untuk mencipta objek dalam JavaScript Mari kita bincangkan tentang cara menggunakan fungsi Object() untuk mencipta objek dalam JavaScript Aug 04, 2022 pm 04:32 PM

Bagaimana untuk mencipta objek menggunakan fungsi Object()? Artikel berikut akan memperkenalkan anda kepada kaedah mencipta objek menggunakan pembina Object() (dengan tiga kaedah lain untuk mencipta objek).

Bolehkah terdapat hanya satu pembina dalam es6? Bolehkah terdapat hanya satu pembina dalam es6? Oct 18, 2022 pm 03:04 PM

Ya, setiap kelas hanya boleh mempunyai satu pembina Jika ia mengandungi berbilang pembina, pengecualian akan dilemparkan. Pembina ialah fungsi khas yang digunakan terutamanya untuk memulakan objek, iaitu, memberikan nilai awal kepada pembolehubah ahli objek dua perkara harus diperhatikan apabila menggunakan pembina: 1. Pembina digunakan untuk mencipta jenis objek tertentu; , dan huruf pertamanya mesti menggunakan huruf besar ;2. Pembina hanya masuk akal apabila digunakan bersama dengan yang baru.

See all articles