jquery - область действия функции, переданной в $ (). grep - PullRequest
1 голос
/ 20 февраля 2009

Похоже, что myFunction в следующем примере теряет свою область видимости.

$().grep(myArray, myFunction)

Под этим я подразумеваю, что у него больше нет доступа к «this» области действия, в которой он был определен, и «this» становится объектом окна. Может кто-нибудь объяснить, почему это так и есть ли удобный способ сохранить область действия myFunction? Это наподобие закрытия javascript, но я пытаюсь разобраться с этим.

1 Ответ

2 голосов
/ 20 февраля 2009
$.grep(myArray, function(){
    return myFunction.apply(realScope, arguments);
});

Замените «realScope» на предполагаемый объем - то, что вы хотите в качестве значения «this».

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