gpt4 book ai didi

javascript - 返回值并保留 javascript 对象的成员?

转载 作者:行者123 更新时间:2023-11-29 17:16:55 25 4
gpt4 key购买 nike

我正在尝试编写其他人的代码,但我真的很困惑他们是如何做到这一点的。代码很长,所以我会尝试给出一个简单的例子来说明我想要找出的内容。

我有如下内容:

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]

这就是我试图破译的代码似乎在做的事情。语法要复杂得多 - 我认为它使用了闭包和原型(prototype),但我仍然不了解这些,所以不太了解发生了什么。

非常感谢!

最佳答案

要使 alert 显示 [object Object] 以外的内容,请在您的对象上定义 .toString() 方法。

function MyObj() {
this.obj1 = "test1";
this.obj2 = "test2";
};

MyObj.prototype.toString = function() {
return this.obj1;
};

var inst = new MyObj();
alert(inst); // will show "test1"

关于javascript - 返回值并保留 javascript 对象的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com