我已经创建了mapWith
函数,如下所示:
var mapWith=function(fn)
{
return funtion(list)
{
return Array.prototype.map.call(list,function(something){
return fn.call(this,something);
});
}
};
我在函数和数组中使用它:
var insertLatLong=function(obj)
{
//inserts to db...
}
var inception_cities=[{lat:35.0117,lng:135.7683},
{lat:48.8567,lng:2.3508},
{lat:-4.0500,lng:39.6667},
{lat:33.8600,lng:151.2111},
{lat:34.0500,lng:118.2500}];
var insertLocations=mapWith(insertLatLong);
insertLocations(inception_cities);
我得到的错误如下:
ReferenceError: list is not defined
at mapWith (/home/anr/Desktop/node js/mysql.js:11:17)
at Object.<anonymous> (/home/anr/Desktop/node js/mysql.js:40:21)
答案 0 :(得分:1)
导致错误的原因是c
中缺少return funtion(list)
。没有它,JavaScript认为你想要调用名为funtion
的东西。但是你也希望将list
传递给它,因为首先评估参数然后你得到ReferenceError:它不知道list
是什么。