In diesem Artikel wird die Verwendung des js-Timeout-Aufrufs setTimeout und des intermittierenden Aufrufs setInterval analysiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Ich habe heute das Buch „JavaScript Advanced Programming (Dritte Auflage)“ gelesen und festgestellt, dass setTimeout besser ist als setInterval, und ich denke, das stimmt. Normalerweise verwende ich setInterval häufiger, aber jetzt muss ich meine Meinung ändern. Wieder gelernt. Die Analyse lautet wie folgt:
setTimeout enthält zwei Parameter, der erste Parameter ist der auszuführende Code und der zweite Parameter ist die Zeit.
Der erste Parameter kann ein String oder eine Funktion sein, es wird jedoch empfohlen, Funktionen anstelle von Strings zu verwenden.
Die Verwendung von Zeichenfolgen entspricht der Methode eval. was zu Leistungseinbußen führt.
clearTimeout()
Der mit Timeout aufgerufene Code wird im globalen Bereich ausgeführt, daher zeigt der Wert davon in der Funktion im strikten Modus auf das Fensterobjekt und ist im strikten Modus undefiniert
var num = 0;
var max = 10;
var IntervalId = null;
Funktion incrementNumber(){
num ;
if(num == max){
clearInterval(innervalId);
warning('done');
}
}
intervalId = setInterval(incrementNumber(),500);
//setTimeout implementiert die gleiche Funktion
var num = 0;
var max = 10;
Funktion incrementNumber2(){
num ;
if(num < max){
setTimeout(incrementNumber2,500);
}else{
warning('done');
}
}
setTimeout(incrementNumber2,500);
Der obige Vergleich zeigt, dass bei Verwendung von Timeout-Aufrufen keine Notwendigkeit besteht, die Timeout-Anruf-ID zu verfolgen, da der Aufruf nach jeder Ausführung des Codes von selbst stoppt, wenn kein weiterer Timeout-Aufruf festgelegt ist.
Es wird allgemein angenommen, dass die Verwendung von Timeout-Anrufen zur Simulation intermittierender Anrufe der beste Modus ist.
In einer Entwicklungsumgebung sind echte intermittierende Anrufe selten, da ein späterer intermittierender Anruf beginnen kann, bevor der vorherige intermittierende Anruf endet.
Es ist am besten, keine intermittierenden Anrufe zu verwenden.
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.