编程语言
首页 > 编程语言> > 在JavaScript中的匿名函数中获取属性名称

在JavaScript中的匿名函数中获取属性名称

作者:互联网

是否可以获取在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代替给函数命名,尽管在严格模式下不允许这样做.

标签:anonymous-function,javascript,methods
来源: https://codeday.me/bug/20191030/1971596.html