【问题标题】:JavaScript - Get calling object [duplicate]JavaScript - 获取调用对象[重复]
【发布时间】:2011-07-11 10:53:45
【问题描述】:

可能重复:
Javascript how do you find the caller function?

有没有办法从调用当前函数的函数中获取this 的值?

看看这个:

function TraceMySelf(){
    console.log(this);
}
function A(){
    TraceMySelf();
    console.log(this);
}

var a = new A();

执行此代码时,控制台首先显示window 对象,然后显示a 对象。如何使代码显示 a 对象两次,只更改第 2 行?我知道我可以在 A 中使用 this 中的函数,但这不是我想要的。

这可能吗?

【问题讨论】:

  • 我认为唯一的方法是将其作为参数传递
  • 没有办法不将它作为参数传递? @hvgotcodes:在你提到的问题中,他要求调用 FUNCTION ;)
  • @FlashFan:只有函数可以调用其他函数。物体不能。您无法获取函数是其属性的对象,因为不存在反向关系。 @hvgotcodes:是的,它是重复的,但应注意arguments.callee 等的使用已被弃用。
  • @hvgotcodes 这些问题存在DISTINCT不同
  • 这绝对不是那个问题的重复。我有同样的问题,但不太关心链接的“重复”。投票支持重新开放。

标签: javascript


【解决方案1】:

我想这就是你问题的答案:StackOverflow 280389

但是,我认为正确的答案是“不要那样做”。我认为这与 JavaScript 的设计方式背道而驰。

也值得关注jQuery Proxy 以了解另一种链接函数和对象的方式。

【讨论】:

  • -1 鉴于问题中的 cmets 列表,有人提到这不是用户正在寻找的答案。
  • 你说得对,上面有讨论。其中大部分隐藏在 链接后​​面。这里没有的是答案。我不认为写一个是拖钓。无论如何。感谢您的反馈。
猜你喜欢
  • 2011-02-28
  • 2017-01-29
  • 2021-09-14
  • 2016-05-15
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多