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

王林
Lepaskan: 2023-08-24 18:05:02
ke hadapan
655 orang telah melayarinya

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

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

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

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!

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!