我可以使用函数中存在的变量来获取函数的名称吗?
function abcd() {
var temp;
alert(" name of the function using temp ");
};
如何使用temp?
获取函数'abcd'
的名称
答案 0 :(得分:2)
您可以使用arguments.callee.name
,就像这样
function abcd() {
console.log("name of the function using", arguments.callee.name);
};
abcd();
# name of the function using abcd
注意: arguments.callee.name
仅适用于使用名称定义的函数。它不适用于匿名函数。例如,如果您已经定义了您的功能,就像这样
var abcd = function () {
console.log("name of the function using", arguments.callee.name);
};
abcd()
只会打印name of the function using
。因为在这种情况下arguments.callee.name
将是一个空字符串。
答案 1 :(得分:2)
非严格"模式,您可以使用arguments.callee.name
。
但总的来说,你不应该 - 从内部知道某个对象或函数的变量是不安全的,因为可能有多个,或者在匿名函数根本没有名字。