Если функция определена с помощью function foo() {…}
, вы можете получить ее имя с помощью foo.toString()
. Например:
> window.alert.toString()
"function alert() { [native code] }"
Однако, если функция определена анонимно (например, var foo = function() {…}
), то получить имя foo
.
невозможно.
Редактировать : оказывается, к имени можно получить доступ через .name
(см. Ответ Питера Лайонса), поэтому использование .toString()
было бы глупо (хотя я оставлю здесь свой ответ, как это возможно быть поучительным).