Rumah >hujung hadapan web >tutorial js >Bagaimanakah kelas dan objek JavaScript mengendalikan pembina tanpa menggunakan kaedah tradisional?

Bagaimanakah kelas dan objek JavaScript mengendalikan pembina tanpa menggunakan kaedah tradisional?

Linda Hamilton
Linda Hamiltonasal
2024-11-07 20:01:031085semak imbas

How do JavaScript classes and objects handle constructors without using traditional methods?

Pembina Objek JavaScript: Panduan

Kelas dan objek JavaScript tidak mempunyai pembina dalam erti kata tradisional seperti yang terdapat dalam bahasa pengaturcaraan lain. Sebaliknya, mereka menggunakan prototaip untuk memulakan dan mentakrifkan sifat dan kaedah.

Pembina Berasaskan Prototaip

Untuk mencipta pembina menggunakan prototaip, anda mentakrifkan nama fungsi yang bertindak sebagai "pembina." Dalam fungsi ini, anda menetapkan nilai kepada sifat dan kaedah menggunakan kata kunci "ini."

Contoh:

<code class="javascript">function Box(color) {
    this.color = color;
}</code>

Fungsi "Kotak" kini bertindak sebagai pembina, dan anda boleh membuat instantiate objek baharu menggunakan "baru."

<code class="javascript">var blueBox = new Box("blue");</code>

Untuk menentukan kaedah bagi objek "Kotak", anda menggunakan sifat "prototaip" bagi fungsi tersebut.

<code class="javascript">Box.prototype.getColor = function() {
    return this.color;
};</code>

Menyembunyikan Sifat Peribadi

Anda juga boleh "menyembunyikan" sifat dengan mengisytiharkannya sebagai pembolehubah dalam fungsi pembina.

<code class="javascript">function Box(col) {
    var color = col;
    ...
}</code>

Penggunaan

Anda boleh membuat instantiate objek baharu dan mengakses sifat dan kaedah menggunakan sintaks:

<code class="javascript">var box1 = new Box("green");
box1.getColor(); // returns "green"</code>

Pendekatan ini membolehkan anda memulakan dan mentakrifkan sifat dan kaedah untuk objek JavaScript secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah kelas dan objek JavaScript mengendalikan pembina tanpa menggunakan kaedah tradisional?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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