如何使用JavaScript获得当前运行的函数名称
给定一个函数,任务是用JavaScript获得当前正在运行的函数的名称。
- 方法1:使用arguments.callee方法。它指的是当前正在执行的函数,在该函数的函数体里面。在这个方法中,我们使用arguments.callee来指代函数的名称。所以我们定义一个新的变量为arguments.callee.toString() 。然后我们使用(variable_name).substr来获取函数,然后我们将其显示为一个警告。
语法:
arguments.callee.toString()
不过你可能要解析一下这个名字,因为它可能包括一些额外的垃圾。
实例1:本例使用arguments.callee方法显示当前运行的函数。
<!DOCTYPE HTML>
<html>
<head>
<title>
How to get currently running
function name using JavaScript ?
</title>
</head>
<body style = "text-align:center;">
<h1 style = "color:green;" >
GeeksForGeeks
</h1>
<script>
function GFGs() {
var me = arguments.callee.toString();
me = me.substr('function '.length);
me = me.substr(0, me.indexOf('('));
alert(me);
}
GFGs();
</script>
</body>
</html>
输出:
- 方法2:在console.log方法的帮助下,我们定义了一个新的函数,该函数返回函数的名称,并调用它为当前函数。
语法:
function getFuncName() {
return getFuncName.caller.name
}
function teddy() {
console.log(getFuncName())
}
teddy()
例2:本例使用console.log方法显示当前运行的函数。
<!DOCTYPE html>
<html>
<head>
<title>
How to get currently running
function name using JavaScript ?
</title>
</head>
<body style = "text-align:center;">
<h1 style = "color:green;" >
GeeksForGeeks
</h1>
<script>
function getFuncName() {
return getFuncName.caller.name
}
function teddy() {
console.log(getFuncName())
}
teddy()
</script>
</body>
</html>
输出: