我在获取存储在变量中的方法的名称时遇到了一些麻烦......以下是我想要的例子:
Function MyObject(){
this.actualMethod = this.thatName;
}
MyObject.prototype.thatName = function(){}
MyObject.prototype.getActualMethodName = function(){
return this.actualMethod.name; /* This doesn't work since the function itself is anonymous, so this.actualMethod.name doesn't work... I want it to return "thatName" */
}
我试图用我的控制台浏览原型,徒劳无功......有没有办法做到这一点?
答案 0 :(得分:2)
您需要命名该功能:
MyObject.prototype.thatName = function thatName() {};
或者,如你所说,你可以在原型中找到它的名字(但我不建议你这样做):
for (var key in MyObject.prototype) {
if (MyObject.prototype[key] === this.actualMethod) {
return key;
}
}
但你为什么需要这个呢?也许可以有更好的解决方案。