Rumah >hujung hadapan web >tutorial js >Kaedah Prototaip lwn. Ditakrifkan Pembina: Mana yang Terbaik untuk JavaScript?
Kelebihan Prototaip vs. Kaedah Ditentukan Pembina
Apabila mentakrifkan kaedah dalam JavaScript, pembangun boleh memilih antara melaksanakannya sebagai kaedah prototaip atau mengisytiharkan mereka secara langsung dalam pembina. Kedua-dua pendekatan mempunyai kelebihannya:
Kaedah Ditentukan Prototaip
Contoh:
function Class() {} Class.prototype.calc = function (a, b) { return a + b; } // Two instances share the same calc() method var ins1 = new Class(), ins2 = new Class(); console.log(ins1.calc(1,1), ins2.calc(1,1)); // Outputs 2, 2 // Updating the prototype method affects both instances Class.prototype.calc = function() { return Array.prototype.slice.apply(arguments).reduce((a, b) => a + b); } console.log(ins1.calc(1,1,1), ins2.calc(1,1,1)); // Outputs 3, 3
Walau bagaimanapun, kaedah prototaip tidak boleh mengakses pembolehubah persendirian yang ditakrifkan di dalam pembina.
Kaedah Ditakrifkan Pembina
Fungsi lwn. Pengisytiharan Pembolehubah untuk "Kelas"
Mengenai pilihan antara menggunakan literal fungsi (cth., var Class = function () {}) atau pengisytiharan fungsi (cth., function Class () {}), yang terakhir diutamakan kerana ia membenarkan "menaikkan" nama fungsi ke bahagian atas skop, mengelakkan kemungkinan ralat yang disebabkan oleh memanggil fungsi sebelum ia telah ditakrifkan.
Atas ialah kandungan terperinci Kaedah Prototaip lwn. Ditakrifkan Pembina: Mana yang Terbaik untuk JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!