这可能是不可能的,但无论如何我还是要问。
如果我有一个类似的构造函数:
function CS_Sidekick() {
//do whatever
}
var foo = new CS_Sidekick();
从CS_Sidekick构造函数内部可以找出调用构造函数的变量,在这种情况下我想得到foo。
类似
function CS_Sidekick(){
//return foo since that's the variable that called it
}
答案 0 :(得分:2)
从CS_Sidekick构造函数内部有任何方法可以搞清楚 调用构造函数的变量,在这种情况下我想得到 FOO。
不,没有。 CS_Sidekick()
构造函数不知道调用代码将对生成的新实例执行什么操作。
你真的需要描述你实际想要解决的问题,因为你的评论没有意义:
function CS_Sidekick(){
//return foo since that's the variable that called it
}
当有这样的代码时:
var foo = new CS_Sidekick();
foo
运行时尚未设置CS_Sidekick()
的值,因此CS_Sidekick()
尝试返回foo
毫无意义。 foo
还没有价值。此外,来电者代码的全部要点:
var foo = new CS_Sidekick();
是为变量foo
分配CS_Sidekick()
的新实例。如果这不是调用者想要的,那么调用者需要将他们的代码更改为其他内容。
new CS_Sidekick();
应该返回CS_Sidekick
对象的新实例。这就是应该做的。
P.S。
如果您希望CS_Sidekick()
构造函数知道它的调用者,那么您可以将其作为参数传递给构造函数。没有自动方法从构造函数中检索有关调用环境的信息。