how to do something once in javascript

How to do something once in JavaScript

If you want to execute a certain code only once in JavaScript, you can use several methods. Here are a few:

1. Immediately Invoked Function Expression (IIFE)

An IIFE is a function that is executed immediately after it is defined. You can use it to perform a one-time task, like setting up an event listener, initializing a variable or executing some code that should only run once.

(() => {
  // your code here

The above code defines an anonymous function and immediately invokes it by adding a pair of parentheses at the end. You can put any code inside the function, and it will be executed only once.

2. Using a flag variable

You can also use a flag variable to keep track of whether a certain code has already been executed or not. You can set the flag to true after the code has been executed, and then check the flag before executing the code again.

let flag = false

if (!flag) {
  // your code here
  flag = true

The above code initializes the flag variable to false, and then checks if it is false before executing the code. Once the code has been executed, the flag is set to true so that the code won't be executed again.

3. Using a setTimeout or setInterval

You can use a setTimeout or setInterval function to execute a certain code after a certain amount of time. You can set the time to a very high value so that the code only runs once.

setTimeout(() => {
  // your code here
}, 100000)

The above code uses the setTimeout function to execute the code after 100000 milliseconds (100 seconds). You can set the time to a higher value if you want the code to execute only once.


These are just a few methods that you can use to execute a certain code only once in JavaScript. You can choose the one that suits your needs the best. If you have any other methods, feel free to share them in the comments.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]