所以我有一个我正在研究的JavaScript函数。我注意到我的编辑器在第4行标记了一个错误,但该功能适用于我测试的每个浏览器,IE和Safari除外。我觉得这特别奇怪。
该功能的基本思想是:采取元素' (html元素的ID)并将其转换为字符串,定义一个包含'元素'的所有可能版本的数组,删除'元素'从数组中,使用现在过滤的数组和'元素执行另一个函数'作为变量。这就是我所拥有的:
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"有关。线,但我看不出问题。单击应该激活此功能的链接时的错误是" thisFunction未定义"以及第4行的错误。
答案 0 :(得分:1)
第4行的问题是IE不支持您在回调中使用的arrow function语法。改变这一行:
var fArray=eArray.filter(e=>e!==eStr);
类似于:
var fArray=eArray.filter(function(e) { return e!==eStr; });
应该解决问题。
找到哪些浏览器支持哪些JS功能的详细信息