Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk memanggil fungsi dengan parameter awalan separa dalam JavaScript?

Bagaimana untuk memanggil fungsi dengan parameter awalan separa dalam JavaScript?

WBOY
WBOYke hadapan
2023-09-06 21:01:02818semak imbas

如何在 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)

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>

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>

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>
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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam