[英]Get function name from inside itself
假设我有一个功能:
function test1() {
}
我想从内部返回“test1”。 我发现你可以做arguments.callee
,它将返回整个函数,然后做一些丑陋的正则表达式。 有更好的方法吗?
命名空间函数怎么样?
是否有可能得到他们的名字:例如:
var test2 =
{
foo: function() {
}
};
我想从内部返回foo这个例子。
更新:对于arguments.callee.name Chrome返回空白,IE9返回undefined。 它不适用于范围函数。
var test2 = {
foo: function() {
}
};
您没有给该函数命名。 您正在将test2
的foo
属性分配给匿名函数。
arguments.callee.name
仅在使用function foo(){}
语法声明函数时才有效。
这应该工作:
var test2 = {
foo: function foo() {
console.log(arguments.callee.name); // "foo"
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.