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中文网其他相关文章!