Javascript 如何使用正则表达式查找对象成员名称

Javascript 如何使用正则表达式查找对象成员名称,javascript,regex,Javascript,Regex,这将在控制台中打印myname。 但我得把这个打印出来 function myname() { Console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]); } 这是一个错误。 有没有办法从上面定义的问题中打印myname。我只能从内部调用它。您确定要使用“:”而不是“=”吗 这很有效 或者你是这个意思 var myname = function myname() { console.log(arguments.

这将在控制台中打印myname。 但我得把这个打印出来

function myname()
{
Console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}
这是一个错误。
有没有办法从上面定义的问题中打印myname。我只能从内部调用它。

您确定要使用“:”而不是“=”吗

这很有效

或者你是这个意思

var myname = function myname() {
console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}
或者你可以试试这个,快,脏。您可以使它更加健壮:这种用法有一些限制

var myObj = {
  myname: function myname() {
    console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
  }
}

myObj.myname()

您确定要使用“:”而不是“=”吗

这很有效

或者你是这个意思

var myname = function myname() {
console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}
或者你可以试试这个,快,脏。您可以使它更加健壮:这种用法有一些限制

var myObj = {
  myname: function myname() {
    console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
  }
}

myObj.myname()
在上面的代码中,myname不是函数名,而是指向匿名函数的属性名

如果你想知道函数名,你必须给出一个。比如说

myname: function() {
  console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}
这将打印
myname

欲了解更多信息,请阅读此

在上面的代码中,myname不是函数名,而是指向匿名函数的属性名

如果你想知道函数名,你必须给出一个。比如说

myname: function() {
  console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}
这将打印
myname


欲了解更多信息,请阅读此

var myObj={myname:function(){console.log(arguments.callee.toString().match(/function([^(+)/)[1]);}}}myObj.myname();我用一种变通方法修改了我的答案,但是-注意:它在不同的前提下工作。因此,它可能不是您需要的。var mybj={myname:function(){console.log(arguments.callee.toString().match(/function([^(+)/)[1]);}}}myObj.myname();我用一个变通方法修改了我的答案,但是-注意:它在不同的前提下工作。因此,它可能不是您需要的。