Экземпляр функции Javascript автоматически приводится к объекту и больше не может вызываться - PullRequest
0 голосов
/ 13 августа 2010

Я работаю с довольно сложной программой 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?: - \

1 Ответ

0 голосов
/ 18 августа 2010

О!Mea culpa ...

Я понял, что возвращаю функцию внутри массива длины 1, поэтому «alert ()» показывает представление toString первого объекта.я :) 1005 *

...