以下代码抛出以下内容:
未捕获的TypeError:someFunction(...)不是函数
是什么导致抛出此异常?
map = function (someList, someFunction){
var result =[];
for (x = 0; x < someList.length; x++ ){
result.push(someFunction(someList[x])());
}
return result;
};
map([1,2,3,4], function(num){
return num * 10;
});
答案 0 :(得分:1)
问题出在这一行
result.push(someFunction(someList[x])());
^^
这个额外的括号是多余的。您已经通过说someFunction
来调用函数someFunction(someList[x])
。通过添加这些额外的括号,您基本上试图调用someFunction(someList[x])
的返回值,这是一个数字,而不是函数。