gpt4 book ai didi

javascript - 有多个 javascript 对象实例

转载 作者:行者123 更新时间:2023-11-30 18:10:03 25 4
gpt4 key购买 nike

我试图寻找一个类似的问题,但要么无法正确表达,要么我太傻了。我对 JavaScript 比较陌生,对创建多个对象实例有疑问:

这里是:

假设您正在尝试使用 javascript 动态构建“列表生成器”。您创建多个列表并向其中添加项目。所以你像这样构建一个类(注意,代码主要是说明性的,试图澄清问题):

var dynamicList = function(listName){
this.listTitle = listName;
}

dynamicList.prototype = {

buildList : function(){
var template = $('<ul id="'+ this.listTitle +'"></ul>').append('<h2>' + this.listTitle + '</h2>';
$(body).append(template);
}

}

问题来了:

假设我使用输入表单来创建列表包装器,每次他们提交表单时,都会生成一个新列表。这是如何管理的?我认为需要发生的是每次都创建一个新对象:

var list1 = new dynamicList("[user input title from form]"); //first list
list1.buildList();

var list2 = new dynamicList("[user input title from form]"); //second list
list2.buildList();

var list3 = new dynamicList("[user input title from form]"); //third list
list3.buildList();

var list[n] ... // and so on
list[n].buildList();

但我不知道该怎么做。我可以动态创建变量名吗,或者如何解决这个问题?你会把它包装在一个更高级别的对象中并为每个创建的列表创建一个增量系统吗?这甚至是一个问题,还是您可以对每个表单递归使用 var list = new dynamicList

我希望我以一种每个人都能理解的方式来阐述我的问题,感谢您花时间阅读它。我也非常感谢有关如何构建代码以确保最大可扩展性的任何建议。

谢谢!

最佳答案

如果你想拥有 n 个东西并能够引用它们 - 将它们放入一个数组中。

var myLists = []; //Shorthand for new Array()

var list = new DynamicList("[user input title from form]"); //first list
list.buildList()
myLists.push(list);

list = new DynamicList("[user input title from form]"); //second list
list.buildList()
myLists.push(list);

您还可以通过创建构造函数来摆脱 buildList() 调用。

关于javascript - 有多个 javascript 对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14824880/

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