Home > Web Front-end > JS Tutorial > How Do Parentheses, Quotes, and No Quotes Affect `setTimeout` Behavior in JavaScript?

How Do Parentheses, Quotes, and No Quotes Affect `setTimeout` Behavior in JavaScript?

Barbara Streisand
Release: 2024-12-29 05:35:10
Original
521 people have browsed it

How Do Parentheses, Quotes, and No Quotes Affect `setTimeout` Behavior in JavaScript?

Understanding the Differences in setTimeout Usage

In JavaScript, setTimeout allows you to schedule a function to execute after a specified delay. There are several ways to use setTimeout with varying syntaxes.

1. with Parentheses:

setTimeout(() => console.log("Callback"), 1000);
Copy after login

In this scenario, an anonymous arrow function is passed as the callback, and the parentheses around it indicate that it's being executed immediately and passed as a reference to setTimeout.

2. Without Quotes or Parentheses:

setTimeout(callbackFunction, 1000);
Copy after login

Here, callbackFunction is a predefined function that is passed as the callback without any quotes or parentheses. The function reference is executed when the delay is complete.

3. Only Using Quotes:

setTimeout("alertMsg()", 1000);
Copy after login

This usage is strongly discouraged as it can lead to security vulnerabilities. It requires the function to be defined as a global variable and uses a string containing the function name. This string is then evaluated and executed as a script.

Key Differences:

  • Parentheses: Indicate immediate execution of the callback function, passing it as a reference.
  • Quotes: Allow a string containing the function name to be executed, but this is insecure.
  • No Quotes or Parentheses: Pass the function reference directly as the callback.

The above is the detailed content of How Do Parentheses, Quotes, and No Quotes Affect `setTimeout` Behavior in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template