Bagaimana untuk memanggil fungsi dengan bahagian yang dilampirkan pada parameter dalam JavaScript?

WBOY
Lepaskan: 2023-08-25 12:41:05
ke hadapan
1299 orang telah melayarinya

如何在 JavaScript 中调用带有附加到参数的部分的函数?

Dalam JavaScript, anda boleh memanggil fungsi dengan menghantar parameter kepadanya. Walau bagaimanapun, kadangkala perlu untuk memanggil fungsi dengan beberapa parameter yang telah diisi. Ini boleh dilakukan menggunakan teknik yang dipanggil aplikasi fungsi separa.

Apakah aplikasi fungsi separa?

Aplikasi fungsi separa ialah cara untuk mencipta fungsi baharu dengan "pra-populasi" beberapa parameter fungsi sedia ada. Ini berguna apabila anda ingin mencipta fungsi baharu yang serupa dengan fungsi sedia ada tetapi mempunyai beberapa parameter yang ditetapkan.

Sebagai contoh, katakan anda mempunyai fungsi yang mengira luas segi empat tepat. Fungsi ini mengambil dua parameter - lebar dan ketinggian segi empat tepat.

Sekarang bayangkan anda ingin mencipta fungsi baharu untuk mengira luas segi empat sama. Fungsi baharu ini akan serupa dengan fungsi sedia ada, tetapi ia hanya memerlukan satu parameter - sisi segi empat sama.

Di sinilah apl fungsi separa masuk. Anda boleh menggunakan apl fungsi separa untuk mencipta fungsi baharu yang merupakan versi "separa" bagi fungsi sedia ada. Fungsi baharu ini akan mempunyai parameter pertama (lebar) telah ditetapkan, dan hanya memerlukan parameter kedua (ketinggian).

Bagaimana untuk menggunakan aplikasi fungsi separa dalam JavaScript?

Terdapat beberapa cara berbeza untuk menggunakan aplikasi fungsi separa dalam JavaScript.

Kaedah 1

Kaedah yang paling biasa ialah menggunakan kaedah bind().

Kaedah

bind() ialah cara untuk mencipta fungsi baharu daripada fungsi sedia ada. Kaedah bind() mengambil dua parameter: fungsi yang akan diikat, dan nilai yang akan diikat pada argumen pertama fungsi tersebut.

Sebagai contoh, katakan anda mempunyai fungsi berikut -

function add(a, b) { 
   return a + b; 
}
Salin selepas log masuk

Anda boleh menggunakan kaedah bind() untuk mencipta fungsi baharu dengan set parameter pertama (a).

var add5 = add.bind(null, 5);
Salin selepas log masuk

Kini fungsi add5 boleh digunakan seperti ini -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      var add5 = add.bind(null, 5);
      document.getElementById("result").innerHTML = add5(10)
   </script>
</body>
</html>
Salin selepas log masuk

Seperti yang anda lihat, parameter pertama (5) ditetapkan dan parameter kedua (10) dihantar ke fungsi add5.

Kaedah 2

Cara lain untuk menggunakan aplikasi fungsi separa ialah mencipta fungsi yang menerima fungsi dan nilai sedia ada dan mengembalikan fungsi baharu dengan argumen pertama set fungsi sedia ada.

Sebagai contoh, anda boleh menulis fungsi seperti ini -

function bind(fn, val) { 
   return function() { 
      return fn.apply(null, 
      [val].concat(Array.prototype.slice.call(arguments)));
   };
}
Salin selepas log masuk

Fungsi ini mengambil fungsi dan nilai sedia ada serta mengembalikan fungsi baharu yang nilainya terikat pada hujah pertama fungsi sedia ada.

Sebagai contoh, anda boleh menggunakan fungsi bind() untuk mencipta fungsi baharu seperti ini -

var add5 = bind(add, 5);
Salin selepas log masuk

Kini fungsi add5 boleh digunakan seperti ini -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      function bind(fn, val) {
         return function() {
            return fn.apply(null, [val].concat(Array.prototype.slice.call(arguments)));
         };
      }
      var add5 = add.bind(add, 5);
      document.getElementById("result").innerHTML = add5(10)
   </script>
</body>
</html>
Salin selepas log masuk

Seperti yang anda lihat, parameter pertama (5) ditetapkan dan parameter kedua (10) dihantar ke fungsi add5.

Aplikasi fungsi separa ialah teknik yang berguna untuk mencipta fungsi baharu daripada fungsi sedia ada. Ia boleh digunakan untuk mencipta fungsi yang serupa dengan fungsi sedia ada, tetapi dengan beberapa parameter telah ditetapkan.

Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi dengan bahagian yang dilampirkan pada parameter 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!