Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyimpan fungsi JavaScript dalam baris gilir dan melaksanakannya secara berurutan?

Bagaimana untuk menyimpan fungsi JavaScript dalam baris gilir dan melaksanakannya secara berurutan?

王林
王林ke hadapan
2023-08-24 18:05:02640semak imbas

Bagaimana untuk menyimpan fungsi JavaScript dalam baris gilir dan melaksanakannya secara berurutan?

Kadangkala, pembangun mungkin perlu menyimpan fungsi dalam baris gilir dan melaksanakannya mengikut susunan ia disimpan dalam baris gilir. Dalam JavaScript, kita boleh menggunakan tatasusunan untuk membuat baris gilir. Kita boleh menggunakan kaedah push() tatasusunan untuk membuat baris gilir fungsi, dan menggunakan kaedah shift() untuk menyah gilir fungsi daripada baris gilir.

Di bawah, kita akan melihat contoh menyimpan fungsi JavaScript dalam baris gilir dan melaksanakannya dalam susunan baris gilir.

Sintaks

Pengguna boleh menyimpan fungsi JavaScript dalam baris gilir mengikut sintaks berikut dan melaksanakannya mengikut turutan.

while (queue.length > 0) { 
   queue[0](); 
   queue.shift(); 
}

Kami menggunakan gelung while dalam sintaks di atas untuk melintasi baris gilir. Kami melaksanakan fungsi pertama dalam baris gilir dan kemudian mengalih keluar fungsi itu daripada baris gilir.

Contoh

Dalam contoh di bawah, kami mencipta pembolehubah yang dipanggil baris gilir dan memulakannya dengan tatasusunan kosong untuk menjadikannya baris gilir.

Selepas itu, kami mencipta tiga fungsi berbeza dan menggunakan kaedah push() tatasusunan untuk menambah semua fungsi ke dalam baris gilir Setiap kali pengguna menekan butang, ia memanggil fungsi executeFunctions() dalam fungsi executeFunctions(). gelung while untuk deque fungsi daripada baris gilir Dalam setiap lelaran gelung, kami melaksanakan fungsi pertama daripada tatasusunan dan menggunakan kaedah tatasusunan.shift() untuk mengalih keluar elemen pertama daripada tatasusunan.

<html>
<body>
   <h3>Using the array to add functions in Queue and execute functions in particular order</h3>
   <div id = "content"> </div></br>
   <button onclick = "executeFunctions()"> Execute function in queue order </button>
   <script>
      let content = document.getElementById("content");
      // execute the functions in the order they are added to the queue
      var queue = [];
      function executeFunctions() {
         while (queue.length > 0) {
            queue[0]();
            queue.shift();
         }
      }
      function function1() {
         content.innerHTML += "Function 1 executed <br>";
      }
      function function2() {
         content.innerHTML += "Function 2 executed <br>";
      }
      function function3() {
         content.innerHTML += "Function 3 executed <br>";
      }
      queue.push(function1);
      queue.push(function2);
      queue.push(function3);
   </script>
</body>
</html>

Contoh

Dalam contoh di bawah, kami mencipta tatasusunan untuk digunakan sebagai baris gilir, sama seperti contoh pertama. Selepas itu, kami menambah fungsi sum(), sub(), mul() dan div() pada baris gilir.

Dalam fungsi executeFunctions(), kami menggunakan gelung for untuk memanggil semua fungsi dalam susunan baris gilir. Selain itu, kami juga menggunakan kaedah call() untuk memanggil fungsi daripada baris gilir.

<html>
<body>
   <h3>Using the array to add functions in Queue and execute functions in particular order</h3>
   <div id = "content"> </div> </br>
   <button onclick = "executeFunctions()"> Execute function in queue order </button>
   <script>
      let content = document.getElementById("content");
      // execute the functions in the order they are added to the queue
      var queue = [];
      function executeFunctions() {
         for (let i = 0; i < queue.length; i++) {
            queue[i].call();
         }
      }
      let a = 10;
      let b = 5;
      function sum() {
      content.innerHTML += "Sum of " + a + " and " + b + " is " + (a + b);
      }
      function sub() {
         content.innerHTML += "<br>Subtraction of " + a + " and " + b + " is " + (a - b);
      }
      function mul() {
         content.innerHTML += "<br>Multiplication of " + a + " and " + b + " is " + (a * b);
      }
      function div() {
         content.innerHTML += "<br>Division of " + a + " and " + b + " is " + (a / b);
      }
      queue.push(sum);
      queue.push(sub);
      queue.push(mul);
      queue.push(div);
   </script>
</body>
</html>

Pengguna belajar menyimpan fungsi dalam baris gilir dan melaksanakannya dalam susunan baris gilir. Dalam JavaScript, tiada struktur data baris gilir terbina dalam, tetapi kita boleh menggunakan tatasusunan sebagai baris gilir.

Dalam contoh pertama, kami telah menggunakan kaedah shift() untuk deque baris gilir Dalam contoh kedua, kami telah menggunakan gelung for untuk melaksanakan fungsi mengikut susunan.

Atas ialah kandungan terperinci Bagaimana untuk menyimpan fungsi JavaScript dalam baris gilir dan melaksanakannya secara berurutan?. 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