JavaScript - 获取调用对象[重复]

Posted

技术标签:

【中文标题】JavaScript - 获取调用对象[重复]【英文标题】:JavaScript - Get calling object [duplicate] 【发布时间】: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不同 这绝对不是那个问题的重复。我有同样的问题,但不太关心链接的“重复”。投票支持重新开放。 【参考方案1】:

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

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

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

【讨论】:

-1 鉴于问题中的 cmets 列表,有人提到这不是用户正在寻找的答案。 你说得对,上面有讨论。其中大部分隐藏在 链接后​​面。这里没有的是答案。我不认为写一个是拖钓。无论如何。感谢您的反馈。

以上是关于JavaScript - 获取调用对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中获取调用类 [重复]

JavaScript 函数调用

javascript的对象:仅获取对象的第一个键[重复]

通过属性值从对象数组中获取JavaScript对象[重复]

通过属性值从对象数组中获取JavaScript对象[重复]

从位置0 javascript的内部对象获取值[重复]