【发布时间】:2012-09-11 07:32:36
【问题描述】:
所以说我有这样的功能:
function Moo()
{
this.someVal = 'blah';
return this;
}
Moo.prototype =
{
}
如果我从这个类中实例化一个对象:
var moo = new Moo();
console.log(moo);
我在控制台中得到这个,而不是带有 someVal 的对象
Window www.domain.com
【问题讨论】:
-
你描述的没有意义。如果您在
Moo构造函数或方法Moo.prototype.foo()中使用this,它将引用Moo的实例。请展示一个实际有问题的代码示例,描述您预期会发生什么,以及 正在发生什么。 -
我认为 OP 在问他如何设置
myNameSpace.Moo构造函数。 -
是的,我已经更新得更好了,它是窗口对象而不是父对象中的任何 this。
-
你确定你试过了吗?这是一个带有您示例的jsfiddle。 jsfiddle.net/qfYV2 按预期输出一个带有 someVal = 'blah' 作为属性的对象。
-
虽然您的构造函数中的 return 语句完全没有必要,但我也看不出如何使用您的代码示例获取对 window 的引用。如果您确实看到了这一点,并且当您运行 @Mark 发布的示例时它被复制了,我不得不问它是什么浏览器......
标签: javascript class namespaces