Bagaimana untuk memanggil fungsi dengan parameter awalan separa dalam JavaScript?

WBOY
Lepaskan: 2023-09-06 21:01:02
ke hadapan
796 orang telah melayarinya

如何在 JavaScript 中调用带有部分前缀参数的函数?

Fungsi JavaScript boleh dipanggil dengan atau tanpa parameter. Apabila dipanggil dengan argumen, fungsi akan dilaksanakan menggunakan argumen yang dihantar sebagai nilai. Apabila dipanggil tanpa hujah, fungsi akan dilaksanakan tanpa menghantar sebarang hujah.

Dalam sesetengah kes, fungsi perlu dipanggil dengan beberapa parameter (tetapi bukan semua). Ini boleh dilakukan menggunakan kaedah Function.prototype.apply atau menggunakan operator spread ( ... ).

Gunakan kaedah Function.prototype.apply

Kaedah Function.prototype.apply boleh digunakan untuk memanggil fungsi dengan beberapa parameter, tetapi bukan semua parameter. Argumen pertama untuk kaedah guna ialah nilai ini, diikuti dengan tatasusunan argumen untuk dihantar ke fungsi.

Tatabahasa

apply(thisArg)
apply(thisArg, argsArray)
Salin selepas log masuk

Parameter

  • thisArg - nilai ini disediakan untuk fungsi panggilan. Jika fungsi tidak berada dalam mod ketat, null dan undefined akan digantikan dengan global dan nilai asal akan ditukar kepada objek.

  • argsArray Pilihan - x objek seperti Array yang menyatakan argumen yang mana fungsi harus dipanggil, atau batal atau tidak ditentukan jika argumen tidak harus dibekalkan kepada fungsi.

Contoh

Sebagai contoh, pertimbangkan kod berikut -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      document.getElementById("result").innerHTML = add.apply(null, [1, 2])
   </script>
</body>
</html>
Salin selepas log masuk

Nilai ini dihantar kepada kaedah guna sebagai parameter pertama dan tatasusunan parameter diluluskan sebagai parameter kedua. Fungsi ini dipanggil menggunakan nilai ini dan argumen yang dihantar sebagai nilai.

Kaedah Function.prototype.apply ialah cara yang berkuasa untuk memanggil fungsi dengan beberapa parameter (tetapi bukan semua parameter). Dengan menggunakan kaedah guna, anda mengelakkan pengekodan keras parameter yang akan dihantar ke fungsi.

Gunakan operator spread

Pengendali spread ( ... ) boleh digunakan untuk memanggil fungsi dengan beberapa argumen (tetapi bukan semua argumen).

Pengendali spread mengembangkan tatasusunan parameter ke dalam parameter individu.

Sebagai contoh, pertimbangkan kod berikut -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      document.getElementById("result").innerHTML = add(...[1, 2])
   </script>
</body>
</html>
Salin selepas log masuk

Tatasusunan parameter dikembangkan menjadi parameter individu dan fungsi dipanggil dengan parameter ini.

Gunakan kaedah bind()

Kaedah

Function.prototype.bind() boleh digunakan untuk mencipta fungsi baharu yang memanggil fungsi asal dan menambah beberapa parameter.

Sebagai contoh, pertimbangkan kod berikut -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      const add1 = add.bind(null, 1);
      document.getElementById("result").innerHTML = add1(2)
   </script>
</body>
</html>
Salin selepas log masuk
Parameter pertama kaedah

bind ialah nilai ini, dan parameter selebihnya digunakan sebagai parameter fungsi apabila memanggil fungsi. Dalam contoh ini, nilai ini diluluskan sebagai nol dan nilai 1 diluluskan sebagai hujah pertama kepada fungsi tambah.

Kaedah

bind mengembalikan fungsi baharu yang dipanggil dengan parameter yang diberikan. Dalam contoh ini, fungsi baharu dipanggil dengan nilai 2, dan fungsi tambah dipanggil dengan nilai 1 dan 2.

Fungsi JavaScript boleh dipanggil dengan atau tanpa parameter. Dalam sesetengah kes, fungsi perlu dipanggil dengan beberapa hujah (tetapi bukan semua). Ini boleh dilakukan menggunakan kaedah Function.prototype.apply atau menggunakan operator spread ( ... ).

Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi dengan parameter awalan separa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!