"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment exécuter un script JavaScript après un délai spécifié ?

Comment exécuter un script JavaScript après un délai spécifié ?

Publié le 2024-11-19
Parcourir:508

How to Execute a JavaScript Script After a Specified Delay?

Exécuter un script après un délai spécifié à l'aide de JavaScript

L'exécution d'un script après un délai spécifique est une tâche courante en JavaScript. Pour ce faire, vous pouvez exploiter la méthode setTimeout().

Contrairement à delay() ou wait() de jQuery, setTimeout() accepte une fonction comme premier paramètre. Cette fonction est ce que vous souhaitez exécuter après le délai. Le deuxième paramètre spécifie le délai en millisecondes.

Utilisation de fonctions nommées pour le délai

Le code suivant montre comment appeler une fonction avec un délai à l'aide d'une fonction nommée :

function myFunction() {
  // Code to execute after the delay
}

setTimeout(myFunction, 2000); // Execute "myFunction" after 2 seconds

Utilisation de fonctions anonymes pour le passage de paramètres

Si vous souhaitez appeler une fonction avec un paramètre, vous pouvez utiliser une fonction anonyme :

var a = "world";
setTimeout(function(){alert("Hello "   a)}, 2000);

Cependant, cela peut entraîner des problèmes si la valeur de a change avant l'expiration du délai. Pour conserver la valeur d'origine, vous pouvez envelopper la fonction anonyme dans une autre fonction qui prend a comme argument :

function callback(a){
    return function(){
        alert("Hello "   a);
    }
}

var a = "world";
setTimeout(callback(a), 2000);
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3