1 <!--
2 * @Author: your TM_cc
3 * @Date: 2021-10-31 19:10:34
4 * @LastEditTime: 2021-10-31 19:15:51
5 * @LastEditors: Please set LastEditors
6 * @Description: In User Settings Edit
7 * @FilePath: \节流.html
8 -->
9 <!DOCTYPE html>
10 <html lang="en">
11 <head>
12 <meta charset="UTF-8">
13 <meta http-equiv="X-UA-Compatible" content="IE=edge">
14 <meta name="viewport" content="width=device-width, initial-scale=1.0">
15 <title>节流-Throttling</title>
16 </head>
17 <body>
18
19 <button id="button">节流</button>
20
21 <script>
22
23 function Throttling(func,wait){
24 let timeout;
25 return function () {
26 if (!timeout){
27 timeout = setTimeout(function () {
28 func()
29 timeout = null;
30 },wait)
31 }
32 }
33 }
34
35 function handle(){
36 console.log(Math.random())
37 }
38
39 document.getElementById('button').onclick = Throttling(handle,2000)
40
41 // 点击两秒后显示一个随机数,两秒内不论点击多少次都不会在此产生一个随机数
42
43 </script>
44 </body>
45 </html>