Javascript IE显示函数上的语法错误
所以再一次,IE是我的JavaScript不工作的罪魁祸首,当我使用BrowserStack在IE上加载页面时,它显示了一个“语法错误” Firefox/Chrome没有显示错误,功能正常 这是我最初拥有的东西: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) =
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
,因此所有循环迭代都会覆盖相同的数组项。那太糟糕了。