【问题标题】:Syntax error in IE using ES6 arrow functions使用 ES6 箭头函数的 IE 中的语法错误
【发布时间】:2016-10-18 13:46:09
【问题描述】:

我有这段 JavaScript 代码

price = price.replace(/(.*)\./, x => x.replace(/\./g,'') + '.')

这在 Firefox 和 Chrome 中运行良好,但是 IE 在我的代码中给出了指向 => 的语法错误。

有没有办法在 IE 中使用 ES6 箭头语法?

【问题讨论】:

  • 在 IE 想要变得快乐之前,在 replace 中使用匿名方法。
  • 首先使用转译器或编写 ES5 代码。

标签: javascript regex internet-explorer ecmascript-6


【解决方案1】:

IE 不支持 ES6,因此您必须坚持使用原始编写此类函数的方式。

price = price.replace(/(.*)\./, function (x) {
  return x.replace(/\./g, '') + '.';
});

另外,相关:When will ES6 be available in IE?

【讨论】:

    【解决方案2】:

    Internet Explorer 还不支持arrow functions。可以查看支持箭头功能的浏览器here

    解决它的方法是制作一个好的旧的常规回调函数:

    price = price.replace(/(.*)\./, function (x) {
        x.replace(/\./g,'') + '.';
    }
    

    这适用于所有浏览器。

    【讨论】:

      猜你喜欢
      • 2018-06-15
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2017-08-09
      • 2015-07-30
      • 2019-06-27
      相关资源
      最近更新 更多