我不确定这是不是一个好主意,但是我希望能够在调用函数时从其中获取函数的名称。我在下面写的测试代码似乎有用,因为它不会导致名称冲突,但我不能先知道它的功能名称。
function And(){
return "test";
};
var X = {
And: function And(){
return this.And.name;
}
};
document.write(X.And());
是否有任何方法可以实现这一目标,并不涉及约束上下文(即'这个')对函数的影响?
答案 0 :(得分:2)
只需使用此aguments.callee.name;
试试这个例子:
function myFunc()
{
return arguments.callee.name;
}
答案 1 :(得分:2)
Function.caller或arguments.callee.name
但是,arguments.callee()在ES5下不起作用。而Function.caller不是标准的。