我正在尝试编写其他人的代码,但我真的很想知道他们是如何做到这一点的。代码很长,所以我将尝试给出一个简单的示例来说明我想要找出的内容。
我有以下内容:
var obj = function(){
this.obj1 = "test1";
this.obj2 = "test2";
};
var inst = new obj;
alert(inst);
这将输出 [object]。我想知道该怎么做,是让这个返回“test1”的值改为 - 但仍然让我能够调用对象成员,这样我也可以做
alert(inst.obj2);
并得到一个输出:'test2'。
我认为我可以做到的方式是这样的:
var obj = function(){
this.obj1 = "test1";
this.obj2 = "test2";
return this.obj1;
};
var inst = new obj;
alert(inst);
但这也返回 [object]
这就是我试图破译的代码似乎正在做的事情。语法要复杂得多——我认为它使用闭包和原型,但我仍然没有理解这些,所以不太明白发生了什么。
非常感谢!