Wann ist die Übergabe einer Zeichenfolge an setTimeout zulässig?
Von der Übergabe einer Zeichenfolge an setTimeout oder setInterval wird aufgrund der Nachteile, einschließlich der Ausführung, generell abgeraten im globalen Umfang, Leistungsprobleme und potenzielle Sicherheitsrisiken. Es stellt sich jedoch die Frage: Gibt es jemals legitime Gründe, auf diese veraltete Praxis zurückzugreifen?
Global Scope Access
Das einzige identifizierte potenzielle Szenario ist der Zugriff auf eine Funktion oder Variable, die im globalen Bereich vorhanden ist und lokal überschrieben wurde. Dies deutet jedoch auf ein schlechtes Codedesign hin, da es zu Konflikten zwischen lokalen und globalen Bezeichnern führt.
Historische Ursprünge und Legacy-Unterstützung
Die veraltete Syntax ist wahrscheinlich aus historischen Gründen zulässig . Anfangs akzeptierten setTimeout und setInterval nur eine Codezeichenfolge als erstes Argument. Die Unterstützung für die Übergabe einer Funktionsobjektreferenz wurde später eingeführt.
Um die Abwärtskompatibilität für vorhandenen Code, ältere Browser und IoT-Geräte aufrechtzuerhalten, die möglicherweise auf älteren JavaScript-Versionen basieren, muss daher die stringbasierte Syntax beibehalten werden. Dennoch wird dringend empfohlen, die bevorzugte Syntax mit einem Funktionsausdruck für die moderne Entwicklung zu übernehmen.
Das obige ist der detaillierte Inhalt vonIst die Übergabe eines Strings an setTimeout jemals gerechtfertigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!