Javascript 如何获取在JS中表示函数的属性名
这是一些JS代码Javascript 如何获取在JS中表示函数的属性名,javascript,function,Javascript,Function,这是一些JS代码 var methodArr = ['firstFunc','secondFunc','thirdFunc']; for(var i in methodArr) { window[methodName] = function() { console.log(methodName); } } 我的问题是如何在JS中获取函数名 在JS中,使用this.callee.name.toString()可以获取函数名。但是在这种情况下,它是一个n
var methodArr = ['firstFunc','secondFunc','thirdFunc'];
for(var i in methodArr)
{
window[methodName] = function()
{
console.log(methodName);
}
}
我的问题是如何在JS中获取函数名
在JS中,使用this.callee.name.toString()
可以获取函数名。但是在这种情况下,它是一个null
值。如何获取'funName'
字符串
对不起,我没说清楚。
我想在for循环中创建函数,所有这些函数都有几乎相同的实现,需要它的名称。但是其他人可以使用不同的名称调用这些函数。我想知道调用了什么
methodName
函数。这似乎是一个范围问题
试试这个:
var methodArr = ['firstFunc','secondFunc','thirdFunc'];
for(var i in methodArr) {
var methodName = methodArr[i]; // <---- this line missed in your code?
window[methodName] = (function(methodName) {
return function() {
console.log(methodName);
}
})(methodName);
}
window['secondFunc'](); // output: secondFunc
var methodArr=['firstFunc','secondFunc','thirdFunc'];
对于(methodArr中的var i){
var methodName=methodArr[i];//您得到null是因为它是一个匿名函数,在这种情况下,您不知道函数的名称吗?我的意思是,如果函数的名称是由php、asp或其他任何东西创建的,您也可以在函数中得到它。您是否尝试使用此方法进行递归?在这种情况下,有没有办法得到“funName”字符串?可能是如果你的代码仍然不起作用,那么就发布你的问题和代码。对不起,我以前试过错误的方法。它起作用了。帮助很大,谢谢你。