Perantaian fungsi ialah teknik pengaturcaraan yang membolehkan pembangun mencipta urutan operasi yang dilaksanakan dalam susunan tertentu. Dalam JavaScript, ini dicapai melalui gabungan mengembalikan fungsi itu sendiri dan menggunakan kata kunci ini.
Untuk memahami prinsip rantaian, mari kita periksa contoh yang berfungsi:
<code class="js">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>
Dalam ini contoh, fungsi satu dibina dengan nombor. Ia mentakrifkan fungsi tambah yang menambah sifat oldnum dan mengembalikannya. Pernyataan if menyemak jika fungsi dipanggil sebagai pembina (menggunakan baharu) dan mengembalikan tika baharu satu jika tidak.
Ungkapan one(1).add().add() bermula dengan mencipta objek baru dengan nilai awal 1. Kemudian, fungsi tambah dipanggil dua kali pada objek ini, yang menambah sifat oldnum setiap kali. Akhir sekali, ujian pembolehubah memegang keputusan, iaitu satu objek dengan oldnum ditetapkan kepada 3.
Sebaliknya, contoh berikut tidak dirantai dengan betul:
<code class="js">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>
Di sini, gmap fungsi tidak mengembalikan ini dalam kaedahnya, jadi rantaian rosak. Ungkapan gmap.add() cuba memanggil kaedah tambah pada fungsi pembina gmap itu sendiri, yang tidak berfungsi seperti yang dimaksudkan.
Kunci kepada rantaian yang berjaya ialah penggunaan kata kunci ini, yang merujuk kepada objek semasa. Dengan mengembalikan ini daripada kaedah, pemanggil boleh mengakses objek sekali lagi dan meneruskan urutan operasi.
Chaining boleh menjadi teknik yang berkuasa untuk menulis kod ringkas dan ekspresif dalam JavaScript. Dengan memahami prinsip yang digariskan di atas, pembangun boleh memanfaatkan rantaian secara berkesan untuk meningkatkan fungsi aplikasi mereka.
Atas ialah kandungan terperinci Apakah Prinsip Rantaian Objek dan Fungsi Asas dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!