Я работаю с довольно сложной программой Javascript, которая в данный момент возвращает несколько вложенных анонимных функций.
Иногда, когда я пытаюсь «применить» одну из таких анонимных функций («f»в этом примере) ...
f.apply (this.context, args)
... Я получаю ошибку "f.apply is not function".
Это странно, потому что alert (f) отображает функциюисходный код, но typeof (f) возвращает «объект» (не «функцию»).
alert (f) --> displays "function (input) { self.checkToken (input, regex, callback) }"
Кроме того, f.call и f.apply не определены.
Проверка typeof (f) на некоторых этапах исполнения всегда возвращает «функцию».Я не могу объяснить, почему, когда мне нужно вызвать функцию, она приводит к объекту.
Я проверил код на Firefox и движке Microsoft JScript, получив те же результаты.
Может быть, мне не хватает какого-то базового аспекта анонимных блоков Javascript?: - \