Übergabe von Strings an setTimeout: Ist das jemals gerechtfertigt?
Die Praxis, einen String an die Funktionen setTimeout oder setInterval zu übergeben, wird allgemein verurteilt der Entwicklungsgemeinschaft. Die Bedenken reichen von der globalen Ausführung bis hin zu möglichen Auswirkungen auf Leistung und Sicherheit. Stattdessen wird dringend empfohlen, den Code in einer anonymen Funktion zu kapseln.
Es stellt sich jedoch die Frage: Hat die veraltete String-Syntax jemals einen praktischen Nutzen?
Das einzig plausible Szenario scheint zu sein Zugriff auf globale Funktionen oder Variablen, die innerhalb eines lokalen Bereichs überschrieben wurden. Selbst diese Situation gilt als schlechte Programmierpraxis.
Es gibt eine alternative Lösung für die Verwendung globaler Variablen: Greifen Sie über das Fensterobjekt darauf zu, z. B. window.globalVar. Dadurch entfällt die Notwendigkeit der veralteten Syntax.
Historisch gesehen erlaubte die stringbasierte Syntax eine eingeschränkte Funktionalität. Die Möglichkeit, eine Funktionsobjektreferenz zu übergeben, wurde später eingeführt. Um zu verhindern, dass vorhandener Code beschädigt wird, unterstützen Browser weiterhin die Verwendung von Zeichenfolgen. Es ist jedoch wichtig zu beachten, dass diese Syntax veraltet ist und in modernen Programmierpraktiken vermieden werden sollte.
Das obige ist der detaillierte Inhalt vonKönnen String-Parameter in setTimeout jemals praktisch sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!