Rumah > Artikel > hujung hadapan web > Bagaimana Anda Boleh Melaksanakan Kaedah Peribadi dalam JavaScript?
Melaksanakan Kaedah Peribadi dalam JavaScript
Walaupun JavaScript tidak menyokong konsep kaedah persendirian secara asli dalam kelas, terdapat penyelesaian yang boleh dicapai kesan yang serupa. Dengan mengelak daripada mentakrifkan kaedah peribadi dalam prototaip kelas, anda boleh mencipta kaedah yang boleh diakses hanya dalam keadaan kelas.
Pertimbangkan coretan kod berikut:
<code class="javascript">function Restaurant() { var myPrivateVar; // Private method var private_stuff = function() { myPrivateVar = "I can set this here!"; } // Public methods this.use_restroom = function() { private_stuff(); } this.buy_food = function() { private_stuff(); } }</code>
Dalam contoh ini, fungsi private_stuff ditakrifkan sebagai kaedah peribadi dalam fungsi Restoran itu sendiri. Ini bermakna ia hanya boleh diakses dalam contoh Restoran dan tidak boleh dipanggil secara luaran.
Kaedah awam use_restroom dan buy_food boleh mengakses kaedah persendirian private_stuff, membolehkan mereka melakukan tindakan tertentu tanpa mendedahkan butiran pelaksanaan kepada pengguna daripada kelas.
<code class="javascript">// Create a new instance of Restaurant var restaurant = new Restaurant(); // Call public methods restaurant.use_restroom(); restaurant.buy_food(); // Attempting to call private method externally will fail restaurant.private_stuff(); // Uncaught ReferenceError: private_stuff is not defined</code>
Dengan menggunakan penyelesaian ini, anda boleh mencipta kaedah persendirian dengan berkesan yang tidak boleh diakses oleh pengguna luar kelas anda sambil membenarkan kaedah dalaman berinteraksi dengan mereka. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah ini tidak menyediakan enkapsulasi penuh kerana kaedah peribadi masih wujud dalam skop fungsi, walaupun dengan kebolehcapaian terhad.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Melaksanakan Kaedah Peribadi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!