Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能解释为什么hjk不是';我不会每次点击都打印_Javascript_Html_Reactjs_Dom_Dom Events - Fatal编程技术网

Javascript 有人能解释为什么hjk不是';我不会每次点击都打印

Javascript 有人能解释为什么hjk不是';我不会每次点击都打印,javascript,html,reactjs,dom,dom-events,Javascript,Html,Reactjs,Dom,Dom Events,有人能解释一下为什么我每次点击hgk都不打印吗?当我每次点击按钮,它应该运行去盎司功能,它应该打印“hgk”,但为什么这不是打印它。 你们谁能给我解释清楚吗 const debounce=(fn,延迟)=>{ 让定时器; 控制台日志(“hgk”); 返回函数(){ console.log('nbm'); 清除超时(计时器); 定时器=设置超时(fn,延迟); } } document.getElementById('button')。addEventListener('click',debou

有人能解释一下为什么我每次点击hgk都不打印吗?当我每次点击按钮,它应该运行去盎司功能,它应该打印“hgk”,但为什么这不是打印它。 你们谁能给我解释清楚吗

const debounce=(fn,延迟)=>{
让定时器;
控制台日志(“hgk”);
返回函数(){
console.log('nbm');
清除超时(计时器);
定时器=设置超时(fn,延迟);
}
}
document.getElementById('button')。addEventListener('click',debounce(()=>{
console.log('clicked')
},2000));

JS-Bin

代码不起作用的原因很简单。在JavaScript第33行中,您引用了id为“button”的DOM元素。但是,当您查看HTML面板时,却找不到它。

请在这里创建一个代码片段JS Bin const debounce=(fn,delay)=>{let timer;console.log('hgk');return function(){console.log('nbm');cleartimout(timer);timer=setTimeout(fn,delay);}}document.getElementById('button')).addEventListener('click',debounce(()=>{console.log('clicked')},2000));欢迎来到SO,请阅读@AnuragSrivastava共享的上述链接。并更新您的问题以添加您拥有的代码段。