Mengarut Fungsi Jumlah Variadik: Meneroka Kerja Dalamannya
Dalam JavaScript, mencipta fungsi jumlah yang menerima berbilang argumen dan berfungsi dalam bentuk kari cara mungkin kelihatan seperti tugas yang tidak dapat diatasi. Walau bagaimanapun, ia sememangnya boleh dilakukan dengan teknik karipap.
Karipap melibatkan penukaran fungsi yang mengambil berbilang argumen kepada satu siri fungsi, masing-masing mengambil satu hujah. Ini membolehkan kami mencipta fungsi jumlah yang boleh digunakan secara berurutan untuk menambah berbilang nombor.
Rahsianya terletak pada cara kami mentakrifkan fungsi:
function sum(n) { var v = function(x) { return sum(n + x); };
Di sini, sum(n) mengembalikan fungsi v yang mengambil satu hujah x dan mengembalikan hasil panggilan jumlah dengan n x. Ini membolehkan kami merangkai berbilang panggilan untuk menjumlahkan, setiap satu menambah nombor seterusnya pada hasil sebelumnya.
Untuk mengendalikan hasil akhir, kami mentakrifkan kaedah valueOf dan toString bagi fungsi:
v.valueOf = v.toString = function() { return n; };
Ini memastikan bahawa apabila kami menggunakan v sebagai nilai, ia mengembalikan jumlah terkumpul n.
Akhir sekali, kami menggunakan operator tambah unary ( ) untuk menukar hasil fungsi kari kepada nombor primitif.
console.log(+sum(1)(2)(3)(4));
Ini menghasilkan hasil yang dijangkakan: 10.
Jadi, walaupun ia kelihatan berlawanan dengan intuitif pada mulanya, mencipta fungsi jumlah kari variadic dalam JavaScript mungkin menggunakan prinsip kari dan manipulasi bijak sifat fungsi.
Atas ialah kandungan terperinci Bagaimanakah Fungsi Jumlah Kari dalam JavaScript Mengendalikan Berbilang Argumen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!