所以我有一个我正在研究的JavaScript函数。我注意到我的编辑器在第 4 行标记了一个错误,但该功能在我测试过的每个浏览器中都有效,除了 IE 和 Safari。我觉得这特别奇怪。
该函数的基本思想是:获取"element"(html元素的ID(并将其转换为字符串,定义所有可能版本的"element"的数组,从数组中删除"element",并使用现在过滤的数组和"element"作为变量执行另一个函数。这是我所拥有的:
function thisFunction(element){
var eStr=element.toString();
var eArray=['element1', 'element2', 'element3'];
var fArray=eArray.filter(e=>e!==eStr);
fArray.forEach(doThis);
function doThis(value){
Now do this with 'fArray'....
return false;
doThis();
}
And do this with 'element'...
return false;
thisFunction();
}
该错误显然与"var fArray"行有关,但我看不出问题。当我单击应该激活此功能的链接时,错误是"此功能未定义"以及第 4 行的错误。
第 4 行的问题是 IE 不支持您在回调中使用的箭头函数语法。更改此行:
var fArray=eArray.filter(e=>e!==eStr);
像这样:
var fArray=eArray.filter(function(e) { return e!==eStr; });
应该解决问题。
有关哪些浏览器支持哪些JS功能的详细信息,请参阅 https://kangax.github.io/compat-table/es6/