Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Memohon Rantaian Fungsi dengan Berkesan dalam JavaScript?
Melaksanakan Asas Objek dan Rantaian Fungsi dalam JavaScript
Operasi rantaian melibatkan penyambungan berbilang panggilan fungsi secara berurutan, membolehkan pembangun melaksanakan satu siri tindakan pada objek atau data. Dengan memahami asas rantaian fungsi dalam JavaScript, anda boleh memanfaatkan teknik berkuasa ini dengan berkesan.
Asas Rantaian Fungsi
Contoh Berfungsi:
Pertimbangkan contoh berikut:
<code class="javascript">var one = function(num){ this.oldnum = num; this.add = function(){ this.oldnum++; return this; } if(this instanceof one){ return this.one; }else{ return new one(num); } } var test = one(1).add().add();</code>
Di sini, satu fungsi mencipta objek dengan nilai awal dan kaedah tambah yang menambah nilai. Dengan mengembalikan ini daripada kaedah tambah, urutan diteruskan.
Contoh Patah:
Walau bagaimanapun, contoh berikut tidak berfungsi:
<code class="javascript">var gmap = function(){ this.add = function(){ alert('add'); return this; } if(this instanceof gmap) { return this.gmap; } else{ return new gmap(); } } var test = gmap.add();</code>
Isu di sini terletak pada fakta bahawa ini merujuk kepada objek tetingkap, bermakna tiada rantaian. Untuk membetulkannya, seseorang boleh membungkus fungsi dalam objek seperti berikut:
<code class="javascript">var gmap = function() { this.add = function() { alert('add'); return this; } this.del = function() { alert('delete'); return this; } if (this instanceof gmap) { return this.gmap; } else { return new gmap(); } } var test = new gmap(); test.add().del();</code>
Memahami Rantaian Fungsi
Fungsi Rantaian menyediakan cara yang mudah dan boleh dibaca untuk melaksanakan berbilang tindakan pada objek atau struktur data. Dengan mengembalikan ini daripada setiap fungsi, pembangun boleh mencipta rangkaian operasi yang berprestasi secara berurutan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memohon Rantaian Fungsi dengan Berkesan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!