我有一个名为getItem的函数。我想使用其中的代码读取此函数的名称。这可能吗?
function getItem(){
var functionName = //how do I read the function name;
alert(functionName) //outputs 'getItem'
}
答案 0 :(得分:3)
试试这个:
function getItem(){
var functionName = arguments.callee.name;
alert(functionName) //outputs 'getItem'
}
这里是小提琴:http://jsfiddle.net/maniator/xGzKA/
另请参阅此previous stack Q以获取其他解决方案
答案 1 :(得分:0)
虽然您可能不应该使用此功能,但您可以为IE,Firefox,Chrome,Safari和Opera执行此操作(我承认arguments.callee
尽管表达了有效的保留,但arguments.callee.name
很方便{{1}如果Function.name属性是标准的):
function getFuncName (fn) {
var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
return name ? name[1] : '(Anonymous)';
}
答案 2 :(得分:-1)
试试这个,
function getItem(){
var functionName = arguments.callee.name;
alert(functionName);
}