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 - 获取调用对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章