gpt4 book ai didi

javascript - 在模块内创建对象 javascript

转载 作者:行者123 更新时间:2023-11-28 00:43:09 24 4
gpt4 key购买 nike

我正在学习 javascript 中的设计模式,但在创建模块时遇到问题。我正在模块内部创建一个 Person 对象,并将其与构造函数模式结合起来,只是因为我也在学习它,但没有任何反应。

任何人都可以帮助我,我不明白我的错误

var myModule = (function () {
function Person(id, name) {
this.id = id;
this.name = name;
}

Person.prototype.toString = function () {
return "\nID: " + this.Id + "\nName: " + this.name;
};

return {
newPerson: function (id, name) {
return new Person(id,name);
console.log(Person.toString());
}
};
})();

var x = myModule;

x.newPerson(1, "John");

最佳答案

你应该使用

var myModule = (function () {
function Person(id, name) {
this.id = id;
this.name = name;
}

return {
newPerson: function (id, name) {
return new Person(id,name);
}
};
})();

var x = myModule;

console.log(x.newPerson(1, "John"));

忘记toString(),大多数控制台都可以获取对象,并以更好的方式显示它。

在您的情况下,您想要记录 Person 构造函数的 toString(),这将产生如下所示的字符串:

"function Person(id, name) {
this.id = id;
this.name = name;
}"

但它没有运行,因为你把它放在newPerson()函数中的return语句之后,return语句停止执行并返回结果。

关于javascript - 在模块内创建对象 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713548/

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