闭包 1.返回值是一个函数 2.返回函数使用函数外面定义的局部变量
闭包的好处:不会造成全局污染
<body><input type="text" name="" id="input"><script>var input=document.querySelector('#input')input.addEventListener("keyup",debounce(()=>{console.log(input.value);}))function debounce(fn,delay=500){let timer=null;return function(){if(timer){clearTimeout(timer)}timer =setTimeout(fn,delay)}}</script></body>
<body><button id="btn">btn</button><script>var btn=document.querySelector('#btn')btn.addEventListener('click',debounce(function(){console.log(this.id);}))function debounce(fn,delay=500){let timer=null;return function(){if(timer){clearTimeout(timer)}timer= setTimeout(()=>{fn.call(this);},delay)}}</script></body>
