首页 >web前端 >js教程 >为什么我的 d3.js 箭头函数在 IE11 中失败?

为什么我的 d3.js 箭头函数在 IE11 中失败?

Linda Hamilton
Linda Hamilton原创
2024-12-20 07:43:13300浏览

Why Are My d3.js Arrow Functions Failing in IE11?

IE 11 中箭头函数语法错误

使用 d3.js 进行可视化,一段代码在 IE 中执行时遇到语法错误11. 该错误专门发生在用于定义的箭头函数内

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

问题

错误的罪魁祸首是使用箭头函数 d =>; {},IE 11 不支持。箭头函数是 ES6 中引入的现代 JavaScript 语法,而 IE 11 最高仅支持 ES5。

解决方案

要解决此问题,请将箭头函数替换为 IE 可以理解的传统函数语法11.

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

其他注意事项

虽然 IE 11 支持传统函数语法,但通常建议在可行的情况下使用现代 JavaScript 功能,因为它们提供了更干净、更高效的代码。但是,为了兼容 IE 11 等旧版浏览器,在这种情况下有必要使用 ES5 语法。

以上是为什么我的 d3.js 箭头函数在 IE11 中失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn