javascript - 将定义的函数作为参数传递

标签 javascript google-maps

我正在尝试将函数作为参数传递:

GEvent.addListener(marker_1, "click", populateMarkerWindow(0, marker_1) );

addListener 函数接受一个内联函数作为参数,它工作正常,但我也想从其他地方调用这个函数,所以我把它做成一个定义函数:

var populateMarkerWindow = function(id, marker) {
  //...
}

然而,这仅意味着我的函数在我尝试注册时被调用。

有没有办法告诉JS我要传入函数本身,而不是函数调用的结果?

谢谢,

最佳答案

只需传递函数的名称。如果您需要安排使用一组特定参数调用该函数,那么,有很多奇特的方法可以做到这一点,但最简单的方法是将对您的函数的调用包装在另一个中功能。

GEvent.addListener(marker_1, "click", function() {
  populateMarkerWindow(0, marker_1);
});

您可能想在 YouTube 上以及他的网站(我想是 crockford.com)上寻找 Douglas Crockford 的各种讲座。除此之外,还有大约。还有无数其他 Javascript 介绍。

关于javascript - 将定义的函数作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625014/

相关文章:

javascript - Date.setDate 确保一致的时间(模式?)DST 与标准

javascript - 如何在触摸菜单以外的任何地方时折叠(关闭)iPhone、iPad、智能手机、平板电脑等设备上的 Bootstrap 扩展菜单?

javascript - 在 Javascript 循环中附加监听器

python - 将自定义 JS 添加到 Django 管理字段

javascript - CSS 谷歌地图自定义信息窗口

javascript - 仅在 "onclick"上触发功能

javascript - 在 AngularJs 中从 url 中删除 # 时出现问题

javascript - 如何将命令行参数传递给 Node.js 程序?

android - android honeycomb 中的弹出/覆盖屏幕

Android Google Maps Activity 只显示小十字