javascript - 有多个 javascript 对象实例

标签 javascript object

我试图寻找一个类似的问题,但要么无法正确表达,要么我太傻了。我对 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/

相关文章:

javascript - 替换函数与 if 语句组合

javascript - 不允许输入类型来选择过期日期

javascript - 使用 JS 删除弹出警告框 "Authorization required"

javascript - 停止 filter(),这可能吗?

数组对象中的javascript数组对象

python - isinstance(type, object) = True,为什么?

java - java中是否可以使一个对象在程序中的任何地方都可用?

javascript - 使用 Javascript 进行高级搜索 - 需要一些建议

javascript - Nodejs Sequelize中循环获取异步数据

javascript - 如何在javascript中通过两个对象创建新对象