Я предполагаю, что нет способа получить имя вызывающего абонента функции в анонимной функции, есть ли?имя вызывающего абонента функции в анонимной функции
(function()
{
var cls = function()
{
this.foo = function()
{
console.log(arguments.callee.caller); // null
foo1();
}
var foo1 = function()
{
console.log(arguments.callee.caller); // foo
foo2();
}
var foo2 = function()
{
console.log(arguments.callee.caller); // foo1
cls.foo(); // local
}
var cls =
{
foo : function()
{
console.log(arguments.callee.caller); // cls.foo2
}
}
}
return (window.cls = cls);
})();
var c1 = new cls();
c1.foo();
Я связываюсь, чтобы выяснить трассировку стека функций в jQuery. – anjanesh
Именованные функциональные выражения, которые вы предлагаете, имеют серьезные проблемы в IE. См. Статью kangax: http://kangax.github.com/nfe/ –
Как это можно сделать, если невозможно переименовать анонимную функцию? –