Rumah > hujung hadapan web > tutorial js > Bagaimanakah Fungsi Jumlah Kari dalam JavaScript Mengendalikan Berbilang Argumen?

Bagaimanakah Fungsi Jumlah Kari dalam JavaScript Mengendalikan Berbilang Argumen?

Barbara Streisand
Lepaskan: 2024-11-29 06:03:10
asal
928 orang telah melayarinya

How Can a Curried Sum Function in JavaScript Handle Multiple Arguments?

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);
  };
Salin selepas log masuk

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;
  };
Salin selepas log masuk

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));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan