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"));
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"; });
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!