anj*_*esh 5 javascript anonymous-function
我猜想没有办法在匿名函数中获取函数调用者名称,是吗?
(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();
Run Code Online (Sandbox Code Playgroud)
小智 4
正确 - 他们是匿名的。如果您需要知道被调用者的姓名,则需要为他们提供一个名称。类似的东西对你有用this.foo = function foo()吗?this.foo = function()