Javascript IE显示函数上的语法错误

Javascript IE显示函数上的语法错误,javascript,Javascript,所以再一次,IE是我的JavaScript不工作的罪魁祸首,当我使用BrowserStack在IE上加载页面时,它显示了一个“语法错误” Firefox/Chrome没有显示错误,功能正常 这是我最初拥有的东西: function get_states() { let data_states = contactFormID.getAttribute('data-states').match(/\w{1,}/g); data_states.forEach( (state,i) =

所以再一次,IE是我的JavaScript不工作的罪魁祸首,当我使用BrowserStack在IE上加载页面时,它显示了一个“语法错误”

Firefox/Chrome没有显示错误,功能正常

这是我最初拥有的东西

function get_states() {
    let data_states =  contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach( (state,i) => states[i] = state);
}
function get_states() {
    var data_states = contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach(function (state, i) {
        return states[i] = state;
    });
}
我使用Babeljs.io将其转换为ES2015,但运气不好

function get_states() {
    let data_states =  contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach( (state,i) => states[i] = state);
}
function get_states() {
    var data_states = contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach(function (state, i) {
        return states[i] = state;
    });
}
以下是错误信息

function get_states() {
    let data_states =  contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach( (state,i) => states[i] = state);
}
function get_states() {
    var data_states = contactFormID.getAttribute('data-states').match(/\w{1,}/g);
    data_states.forEach(function (state, i) {
        return states[i] = state;
    });
}


IE不支持forEach吗?我甚至使用polyfill添加了以下脚本标记:
,但运气不好。

通过为所有forEach操作包含forEach polyfill,使其正常工作

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = Array.prototype.forEach;
}

通过为所有forEach操作包含forEach多边形填充,使其正常工作

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = Array.prototype.forEach;
}

你说的是哪个IE版本?不是。我想polyfill的URL应该是固定的,因为它链接到caniuse中肯定是个错误,即绝对支持
Array.forEach
。在你昨天问的一个非常类似的问题中,我告诉你不要转换ES2015,如果你想支持IE,就转换成ES5。ES2015===ES6。在你的函数中,什么是
状态[I]
,在它里面,
I
?我看不到正在定义一个名为that的变量。我希望你不是在研究全局变量。此外,我没有看到任何代码行增加
I
,因此所有循环迭代都会覆盖相同的数组项。那太糟糕了。你说的是哪个IE版本?不。我想polyfill的URL应该是固定的,因为它链接到caniuse中肯定是个错误,即绝对支持
Array.forEach
。在你昨天问的一个非常类似的问题中,我告诉你不要转换ES2015,如果你想支持IE,就转换成ES5。ES2015===ES6。在你的函数中,什么是
状态[I]
,在它里面,
I
?我看不到正在定义一个名为that的变量。我希望你不是在研究全局变量。此外,我没有看到任何代码行增加
I
,因此所有循环迭代都会覆盖相同的数组项。那太糟糕了。