Dieser Artikel analysiert die Verwendung von JS Timeout Calling SetTimeout und intermittierender Aufruf -SetInterval. Teilen Sie es für Ihre Referenz. Die Details sind wie folgt:
Heute habe ich das Buch Advanced Programing (dritte Ausgabe) von JavaScript gelesen und festgestellt, dass SetTimeout besser als SetInterval ist, und ich denke, es ist wahr. Normalerweise verwende ich SetInterval, um mehr Punkte zu erzielen, aber jetzt denke ich immer noch ein bisschen mehr nach. Ich habe es wieder gelernt. Die Analyse ist wie folgt:
SetTimeout enthält zwei Parameter, der erste Parameter ist der zu ausgeführte Code und der zweite Parameter ist die Zeit.
Der erste Parameter kann eine Zeichenfolge oder eine Funktion sein, wird jedoch empfohlen, eine Funktion anstelle einer String zu verwenden.
Die Verwendung einer Zeichenfolge entspricht der Bewertungsmethode. Verursacht Leistungsverluste.
Clearimeout ()
Der Code, der als Timeout bezeichnet wird, wird im globalen Bereich ausgeführt, sodass der Wert davon in der Funktion im strengen Modus auf das Fensterobjekt zeigt und im strengen Modus undefiniert ist.
Kopieren Sie den Code wie folgt: // setInval
var num = 0;
var max = 10;
var intervalid = null;
Funktion IncrementNumber () {
num ++;
if (num == max) {
ClearInterval (Innervalid);
alarm ('fertig');
}
}
Intervalid = setInterval (IncrementNumber (), 500);
// setTimeout implementiert die gleiche Funktion
var num = 0;
var max = 10;
Funktion IncrementNumber2 () {
num ++;
if (num <max) {
setTimeout (IncrementNumber2.500);
}anders{
alarm ('fertig');
}
}
setTimeout (IncrementNumber2.500);
Der obige Vergleich zeigt, dass bei der Verwendung von Timeout -Aufrufen die Timeout -Anruf -ID nicht nachverfolgt werden muss, da nach dem Ausführen jedes Codes ein anderer Zeitüberschreitungsanruf nicht festgelegt wird, der Anruf von selbst stoppt.
Es wird allgemein angenommen, dass, wenn der Zeitüberschreitungsaufruf verwendet wird, um intermittierende Anrufe zu simulieren, ein optimales Muster ist.
In einer Entwicklungsumgebung gibt es nur wenige reale zeitweilige Aufrufe, da die letzteren intermittierenden Anrufe vor dem Ende des vorherigen Lückenanrufs initiiert werden können.
Es ist am besten, keine intermittierenden Anrufe zu verwenden.
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.