当前位置: 首页 > 面试题库 >

JavaScript为什么此箭头功能在IE 11中不起作用?

阎阳
2023-03-14
问题内容

下面的代码在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"));

使用d3.js二部图进行可视化

此代码导致上述声明中的问题 d=>(d.part=="primary"? -40: 40)


问题答案:

您正在使用箭头功能。IE11不支持它们。使用function函数代替。

这是Babel将其翻译成ES5的内容:

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


 类似资料:
  • 导致上述语句中问题的代码

  • 问题内容: 当ES6 Arrow函数似乎无法为使用prototype.object的对象分配功能时。请考虑以下示例: 在对象定义中显式使用arrow函数是可行的,但将Object函数与Object.prototype语法一起使用却不能: 就像概念证明一样,将Template字符串语法与Object.prototype语法一起使用确实可以: 我是否缺少明显的东西?我觉得示例2应该在逻辑上起作用,但是

  • 问题内容: 我正在学习Vue并在计算属性中使用箭头功能时遇到问题。 我的原始代码工作正常(请参见下面的代码段)。 但是,更改计算属性中的方法后,颜色不会更改(尽管turnRed值仍成功在true和false之间切换)。 这是我的代码: 我使用错误的语法吗? 问题答案: 您遇到此错误是因为箭头函数不会绑定到您要为其定义计算属性的vue实例。如果要使用箭头功能进行定义,也会发生同样的情况。 不要在实例

  • 问题内容: 我们都知道我们需要在React中绑定函数以使其起作用。我知道为什么我们需要绑定它。 但是我不确定为什么我们不需要绑定箭头功能。 示例:使用箭头功能(无需绑定) }; 现在,使用功能(需要绑定) }; 我不是在问为什么我们需要绑定功能。我只想知道为什么箭头功能不需要绑定。 谢谢。 问题答案: 仅仅因为arrow函数的上下文中没有以下内容: 这个 论点 超 新目标 所以,当你引用此箭头功能

  • 问题内容: 我在几个地方读到,主要的区别是“ 在箭头函数中按词法绑定”。一切都很好,但是我实际上不知道那意味着什么。 我知道这意味着它在定义函数主体的大括号范围内是唯一的,但是我实际上无法告诉您以下代码的输出,因为我不知道所指的是什么,除非它指的是胖箭头函数本身…。似乎没有用。 问题答案: 箭头函数捕获封闭上下文的值 因此,要直接回答您的问题,箭头函数内部的值将与分配箭头函数之前的值相同。

  • 问题内容: 我正在做一个小的javascript方法,该方法会接收到一个点列表,并且我必须阅读这些点才能在Google地图中创建多边形。 我在表格上收到这些要点: (lat,long),(lat,long),(lat,long) 因此,我完成了以下正则表达式: 我已经使用RegexPal和收到的确切数据进行了测试: 并且它可以正常工作,所以为什么当我在JavaScript中添加此代码后,结果中会收