更新 #1
我忘记将当前对象作为第一个参数传递;见K的回答
我在谷歌地图上有以下方法。这些方法可以像这样正常工作:
arc.pLocations(ne, sw,m);
arc.pLikedLocations(ne, sw, m);
arc.pLikedItems(ne, sw, m);
但是,我希望将它们放在这样的数组中,我可以随后调用,但这不起作用(我会第一个承认这是我的问题):
var selected_methods=[arc.pLocations,arc.pLikedLocations,arc.pLikedItems];
// Uncaught TypeError: Object #<Ri> has no method 'lng' - this is for a variable called sw in pLikedLocations
$.map(selected_methods, function(val, i){
console.log("here is index:" + i);
val.call(ne,sw,m);
});
试图用另一个闭包来包装它,但这也不起作用
$.map(selected_methods, (function(val, i){
console.log("here is index:" + i);
val.call(ne,sw,m);
})(val,i)); // Uncaught ReferenceError: val is not defined on this line!
我有以下我正在做一些非常简单的错误。谁能发现问题并帮助我?这是星期六晚上,我想完成这个。
提前谢谢