javascript - 在 Javascript 的匿名函数中获取属性名称

标签 javascript methods anonymous-function

是否可以获取javascript中调用匿名函数的属性名?

例子

var obj = {
     WhoAmI: function() {
       //Obtain the name WhoAmI
     }
}

最佳答案

函数(直接)不知道引用它的属性或变量的名称。

虽然根据调用的方式,它可能会被发现。

var obj = {
     WhoAmI: function func() {
         for (var p in this)
             if (this[p] === func)
                 alert(p);
     }
}

obj.WhoAmI();

演示: http://jsfiddle.net/wUdNf/

这仅在调用函数时将其 this 设置为引用它的对象时才有效。

您可以使用 arguments.callee 而不是为函数命名,尽管这在严格模式 中是不允许的。

关于javascript - 在 Javascript 的匿名函数中获取属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16471165/

相关文章:

javascript - MVC 两个列表框双击时从第一个添加到第二个

javascript - 配置护照-ldap

java - 为什么父构造函数中的方法实际上调用子方法

python - 什么是 "better"反向方法或反向内置函数?

javascript - 表格 HTML 中的动态数组

javascript - 事件监听器未触发?

class - 制作Delphi事件类方法

php - 是否允许匿名函数?

lambda - 纯函数中的模式匹配