Heim > Web-Frontend > js-Tutorial > Hauptteil

Gibt es Ausnahmen von der Ablehnung von String-Parametern in setTimeout?

Mary-Kate Olsen
Freigeben: 2024-10-20 07:37:29
Original
962 Leute haben es durchsucht

Are There Exceptions to the Deprecation of String Parameters in setTimeout?

Die Abschaffung der Übergabe von Strings an setTimeout: Gibt es jemals eine Ausnahme?

Trotz des weit verbreiteten Konsenses, dass die Übergabe von Strings an setTimeout unerwünscht ist, kann es Fälle geben, in denen dies der Fall ist Die Praxis wird unterhalten. Dies wirft die Frage auf: Gibt es legitime Gründe für einen Verstoß gegen diese Konvention?

Der herkömmliche Grund für die Ablehnung von Zeichenfolgenparametern besteht darin, dass sie im globalen Bereich ausgeführt werden, was zu Leistungsproblemen und potenziellen Sicherheitslücken führt. Die moderne Syntax verzichtet auf diesen Ansatz und übergibt stattdessen Funktionen als Argumente an setTimeout:

setTimeout(function() {
    doSomething(someVar);
}, 10000);
Nach dem Login kopieren

Stellen Sie sich das Szenario vor, in dem eine Funktion oder Variable global existiert, aber lokal überschrieben wird. Der Entwickler kann erwägen, die veraltete Syntax zu verwenden, um auf die globale Instanz zuzugreifen:

setTimeout('doSomething(someVar)', 10000);
Nach dem Login kopieren

Der Zugriff auf globale Variablen über das Fensterobjekt (z. B. window.globalVar) macht diese Ausnahme jedoch überflüssig.

Die Zulässigkeit von String-Parametern in setTimeout und setInterval ist wahrscheinlich auf ihre historische Priorität zurückzuführen. Ursprünglich akzeptierten diese Funktionen nur Zeichenfolgen, die auszuführenden Code enthielten. Die Einführung von Funktionsobjekten als gültige Argumente erfolgte später. Das nachträgliche Verbot von String-Parametern würde den vorhandenen Code beschädigen.

Das obige ist der detaillierte Inhalt vonGibt es Ausnahmen von der Ablehnung von String-Parametern in setTimeout?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!