【问题标题】:How to get a parent of caller of obj method? [duplicate]如何获取 obj 方法的调用者的父级? [复制]
【发布时间】:2013-05-31 20:01:11
【问题描述】:

如何在事先不知道的情况下获取函数名。

db = {
    base: {
        getById: function() {
            console.log(methodName);
        }
    }
};

我想调用 db.base.getById() 和控制台来记录'base'; 请帮帮我:)

【问题讨论】:

  • 你不能。函数或对象可以分配给多个属性/变量。这不是单向关系。

标签: javascript


【解决方案1】:

你不能这样做。

你可以做的是使用不同的模式,例如工厂:

db = {
    base: (function(){
        var b = {};
        b.getById: function() {
            console.log(b);
        }
        return b;
    })()
};

【讨论】:

  • 我可能会删除这个答案,我不确定它在这里是否有帮助。
  • 所以...我不能像我喜欢的那样做,所以我会和工厂一起做:)
  • 您是否注意到这记录了整个基础对象而不是“基础”字符串?我不确定你想要什么或需要什么。
  • mhm,但我需要 'base' 字符串。这个想法是用方法制作一个“基础”模型。类似这样的东西:db.base -> 基本方法,如 create、getById、getAll 然后 db.person = base 所以我可以调用 db.person ... 并且有相同的方法,但用于“人”的角度。所以我不会重复代码...
  • 你的问题我不是很清楚,但你不需要基于原型的类吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 2013-03-30
  • 1970-01-01
  • 2011-02-08
  • 2011-02-04
相关资源
最近更新 更多