Rumah > Artikel > hujung hadapan web > Bagaimana untuk Mencapai Enkapsulasi dengan Kaedah Peribadi dalam JavaScript?
Kaedah Peribadi dalam JavaScript
Merangkum data dan kaedah dalam kelas ialah prinsip asas dalam pengaturcaraan berorientasikan objek. Dalam JavaScript, walau bagaimanapun, mentakrifkan kaedah persendirian dalam kelas boleh menjadi mencabar.
Mencipta Kaedah Awam
Untuk mencipta kaedah awam dalam JavaScript, kami biasanya menggunakan prototaip harta:
<code class="javascript">function Restaurant() {} Restaurant.prototype.buy_food = function(){ // something here }; Restaurant.prototype.use_restroom = function(){ // something here };</code>
Pengguna boleh mengakses kaedah ini seperti berikut:
<code class="javascript">var restaurant = new Restaurant(); restaurant.buy_food(); restaurant.use_restroom();</code>
Mentakrifkan Kaedah Peribadi
Untuk mencipta kaedah peribadi yang hanya boleh diakses oleh kaedah lain dalam kelas, kita boleh mentakrifkannya di luar prototaip:
<code class="javascript">function Restaurant() { var private_stuff = function() { // Only visible inside Restaurant() // Do something }; this.use_restroom = function() { // use_restroom is visible to all private_stuff(); }; this.buy_food = function() { // buy_food is visible to all private_stuff(); }; }</code>
Keterbatasan
Pendekatan ini mempunyai kelemahan: kaedah persendirian tidak boleh sebahagian daripada prototaip. Ini bermakna mereka tidak boleh diakses terus daripada contoh kelas:
<code class="javascript">var r = new Restaurant(); r.private_stuff(); // This will not work</code>
Oleh itu, kaedah persendirian hanya boleh dipanggil melalui kaedah awam dalam kelas yang sama. Walaupun ini mungkin memberikan beberapa tahap pengkapsulan, ia tidak sekukuh kaedah persendirian sebenar yang terdapat dalam bahasa pengaturcaraan lain.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Enkapsulasi dengan Kaedah Peribadi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!