javascript - 如何从方法内部获取js方法名称

标签 javascript node.js function methods

我想直接从此方法体获取当前方法名称,我的代码不起作用:

var myFunction = function(){
    console.log(arguments.callee.name); // output must be "myFunction" 
}


This works excellently

function myFunction() {
    console.log(arguments.callee.name); // output is "myFunction" 
}

你对我有什么建议,有什么办法可以让这个工作成功吗? 我越来越多地搜索谷歌,但没有找到。有帮助

最佳答案

该函数是匿名,没有名称。

要获取变量名称,请按照 this answer

解决方案 1: 尝试创建一个具有属性对象,然后迭代属性并显示属性的名称。

var x = {
    myFunction : function(){      
    }
};

for(var variable in x)
{
    console.log(variable);
}

解决方案 2: 我试图制定一个解决方法。我认为属性是对象的第一个,我尝试显示属性的名称。

var funcTest = function() {   
    for(var variable in this) {
        console.log(variable);
        break;
    }
} 

var x = {  myFunction : funcTest  };
x.myFunction(); // myFunction

var y = { secondFunction : funcTest }
y.secondFunction(); // secondFunction

关于javascript - 如何从方法内部获取js方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29146469/

相关文章:

javascript - 登录成功后如何将JSON Web Tokens传递给不同的网页?

javascript - 使用 javascript sdk 的亚马逊 s3 上传无法正常工作

javascript - 使用鼠标滚轮放大图像上的特定点

node.js - IBM 沃森助手 : chatbot calling local node functions

用于 Wordpress 自定义摘录长度的 PHP 组合 2 个函数

java - 通过递归函数进行跟踪

当表格行失去焦点时运行代码的 JavaScript

javascript - ECONNREFUSED 从 NodeJS 运行本地主机服务器

node.js - 呃!网络。无法安装最新版本的 npm、yeoman、bower 和 grunt

python - 如何保存 "for"循环中的值? python 3