假设我有一个功能:
function test1() {
}
Run Code Online (Sandbox Code Playgroud)
我想从内部返回"test1".我发现你可以做的arguments.callee就是返回整个函数,然后做一些丑陋的正则表达式.有更好的方法吗?
命名空间函数怎么样?
是否有可能得到他们的名字:例如:
var test2 =
{
foo: function() {
}
};
Run Code Online (Sandbox Code Playgroud)
我想从内部返回foo这个例子.
更新:对于arguments.callee.name Chrome返回空白,IE9返回undefined.它不适用于范围函数.
var test2 = {
foo: function() {
}
};
Run Code Online (Sandbox Code Playgroud)
您没有给该函数命名.您正在将foo属性分配给test2匿名函数.
arguments.callee.name仅在使用function foo(){}语法声明函数时才有效.
这应该工作:
var test2 = {
foo: function foo() {
console.log(arguments.callee.name); // "foo"
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |