Heim > Web-Frontend > js-Tutorial > Warum funktionieren Pfeilfunktionen in IE11 nicht und wie kann ich das Problem beheben?

Warum funktionieren Pfeilfunktionen in IE11 nicht und wie kann ich das Problem beheben?

Mary-Kate Olsen
Freigeben: 2024-12-15 13:00:22
Original
747 Leute haben es durchsucht

Why Don't Arrow Functions Work in IE11, and How Can I Fix It?

Pfeilfunktionen und IE 11-Kompatibilität: Den Syntaxfehler verstehen

Im Bereich der JavaScript-Programmierung bieten Pfeilfunktionen eine prägnante Syntax zum Definieren von Funktionen . Allerdings sind diese Funktionen möglicherweise nicht immer mit älteren Browsern kompatibel, einschließlich Internet Explorer 11 (IE 11).

Im Fall des bereitgestellten Code-Snippets:

g.selectAll(".mainBars")
    .append("text")
    .attr("x", d => (d.part == "primary" ? -40 : 40))
    .attr("y", d => +6)
    .text(d => d.key)
    .attr("text-anchor", d => (d.part == "primary" ? "end" : "start"));
Nach dem Login kopieren

Wenn dieser Code vorliegt Bei der Ausführung im IE 11 ist ein Syntaxfehler aufgetreten. Der zugrunde liegende Grund liegt in der Verwendung von Pfeilfunktionen, die in ES6 (ECMAScript 2015) eingeführt wurden und von IE 11 nicht unterstützt werden.

Überwindung des Kompatibilitätsproblems

Zu Um den Code mit IE 11 kompatibel zu machen, müssen die Pfeilfunktionen durch herkömmliche Funktionsdeklarationen ersetzt werden. Der entsprechende ES5-Code würde etwa wie folgt aussehen:

g.selectAll(".mainBars").append("text").attr("x", function (d) {
  return d.part == "primary" ? -40 : 40;
}).attr("y", function (d) {
  return +6;
}).text(function (d) {
  return d.key;
}).attr("text-anchor", function (d) {
  return d.part == "primary" ? "end" : "start";
});
Nach dem Login kopieren

Durch die Verwendung herkömmlicher Funktionsdeklarationen wird dieser modifizierte Code erfolgreich in IE 11 ausgeführt, wobei die beabsichtigte Funktionalität erhalten bleibt. Es ist wichtig zu beachten, dass herkömmliche Funktionen im Vergleich zu Pfeilfunktionen andere Regeln für die Bindung des Schlüsselworts „this“ haben. Daher sollten diese Unterschiede beim Übergang von Code zwischen JavaScript-Versionen berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWarum funktionieren Pfeilfunktionen in IE11 nicht und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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