我正在尝试将函数作为参数传递:
GEvent.addListener(marker_1, "click", populateMarkerWindow(0, marker_1) );
addListener函数将内联函数作为参数,并且它工作正常,但我也希望从其他地方调用此函数,因此我将其转换为已定义的函数:
var populateMarkerWindow = function(id, marker) {
//...
}
然而,这只意味着当我尝试注册它时会调用我的函数。
有没有办法告诉JS我想传递函数本身,而不是调用函数的结果?
谢谢,
答案 0 :(得分:9)
只需传递函数的名称即可。如果您需要安排使用一组特定参数调用函数,那么,有很多方法可以做到这一点,但最简单的方法是在另一个中包含对函数的调用功能
GEvent.addListener(marker_1, "click", function() {
populateMarkerWindow(0, marker_1);
});
你可能想在YouTube上找到Douglas Crockford的各种讲座,以及他的网站(我认为是crockford.com)。除此之外还有约。那里有大量其他Javascript介绍。