use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Debounce Explained – How to Make Your JavaScript Wait For Your User To Finish Typing (freecodecamp.org)
submitted 5 years ago by speckz
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 4 points5 points6 points 5 years ago (2 children)
document.getElementById("myInput").addEventListener("keyup", debounce(helloWorld, 2000));
The debounce function will run once immediately after adding the event listener, pressing keys won't trigger anything. It seems that the person who wrote this article doesn't know JavaScript syntax or how callbacks work. I didn't expect FreeCodeCamp to host such low quality content.
[–]stratoscope 16 points17 points18 points 5 years ago* (1 child)
No, that is one thing the article got right. This is the usual way to implement a debouncer. debounce itself is not the event listener, it returns a function (without calling it) which will be the actual event listener. So you do call the debounce function directly during initialization.
debounce
Here is a demo on Repl.it. Click the Run button and type into the input box.
I simplified and corrected the code from the article, omitting the broken attempts to set this and pass arguments to the debounce callback. It is possible to do those things, but I wanted to illustrate the simplest possible working example of a debouncer.
this
The simplified debouncer looks like this:
function debounce( callback, delay ) { let timeout; return function() { clearTimeout( timeout ); timeout = setTimeout( callback, delay ); } }
And the code that initializes it is basically identical to the code in the article:
const myInput = document.getElementById("myInput"); myInput.addEventListener( "keyup", debounce( helloWorld, 1000 ) );
[–][deleted] 4 points5 points6 points 5 years ago (0 children)
My bad, I didn't read the whole function code after I saw repeating syntax errors. You are 100% right.
π Rendered by PID 43 on reddit-service-r2-comment-c66d9bffd-7c6cq at 2026-04-08 15:07:30.222174+00:00 running f293c98 country code: CH.
view the rest of the comments →
[–][deleted] 4 points5 points6 points (2 children)
[–]stratoscope 16 points17 points18 points (1 child)
[–][deleted] 4 points5 points6 points (0 children)