Heim  >  Artikel  >  Web-Frontend  >  Probleme, auf die Sie achten müssen, wenn Sie die Abschlussfunktion von setTimeout() von Javascript verwenden

Probleme, auf die Sie achten müssen, wenn Sie die Abschlussfunktion von setTimeout() von Javascript verwenden

高洛峰
高洛峰Original
2017-02-08 16:06:391017Durchsuche

In diesem Artikel werden hauptsächlich die Probleme vorgestellt, auf die bei der Verwendung der Abschlussfunktion von setTimeout(0) von Javascript geachtet werden muss.

setTimeout wird häufig verwendet, um die Ausführung von zu verzögern Eine bestimmte Funktion. Die Verwendung ist wie folgt:

Code kopieren Der Code ist wie folgt:

setTimeout(function(){
…
}, timeout);

Manchmal setTimeout(function. ..,0) wird zum Beispiel für die asynchrone Verarbeitung verwendet:

Code kopieren Der Code lautet wie folgt:

function f(){
… // get ready
setTimeout(function(){
…. // do something
}, 0);
  
return …;
}

Vorher der durch setTimeout festgelegte Funktionsprozessor

Seien Sie besonders vorsichtig, wenn Sie die asynchrone Verarbeitung verwenden, insbesondere wenn Sie Abschlussfunktionen verwenden 🎜>Code kopieren

Code wie folgt:

Für Schüler, die diese Methode zum ersten Mal verwenden, denken sie vielleicht, dass das Programm 0...9 druckt, aber Das Ergebnis wird tatsächlich 10 10s ausgeben. Das Problem besteht darin, dass nach Abschluss der Schleife die Funktion ausgeführt wird und i zu 10 wird, was 10 in console.log(i) entspricht! Wenn Sie 0...9 drucken möchten, können Sie die Art und Weise ändern und Funktionsparameter verwenden, um 0...9 zu speichern (tatsächlich werden auch Verschlüsse verwendet):

for(var i = 0 ; i < 10; i++){
setTimeout(function(){
console.log(i);
}, 0);
}


Kopieren Sie den Code

Der Code lautet wie folgt:

Weitere Probleme, die bei der Verwendung der Abschlussfunktion von setTimeout von Javascript beachtet werden müssen( ), achten Sie bitte auf die chinesische PHP-Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn