Передать определенную функцию в качестве параметра - PullRequest
1 голос
/ 13 апреля 2010

Я пытаюсь передать функцию в качестве параметра:

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

функция addListener принимает встроенную функцию в качестве параметра, и она отлично работает, но я хочу вызывать эту функцию и из других мест, поэтому я превратил ее в определенную функцию:

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

Это, однако, только означает, что моя функция вызывается, когда я пытаюсь ее зарегистрировать.

Есть ли способ сообщить JS, что я хочу передать саму функцию, а не результат вызова функции?

Спасибо,

1 Ответ

9 голосов
/ 13 апреля 2010

Просто передайте имя функции. Если вам нужно организовать вызов функции с определенным набором параметров, ну, есть причудливые способы сделать это, но самое простое - просто заключить вызов вашей функции в другую функцию .

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

Возможно, вы захотите посмотреть различные лекции Дугласа Крокфорда на YouTube, а также его веб-сайт (думаю, crockford.com). В дополнение к этому есть ок. множество других Javascript-представлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...