繁体   English   中英

保存和检索多个js实例

[英]Preserving and retrieving multiple js instances

我有一个叫做myClass的“班级”

myClass= (function(config){
    var _data, _args, _config;
    var pubdata;
    var setData = function(d){_data = d;};
    var getData function(){return _data;};
    var priFun = function(){};
    return {
       setData: setData
       getData: getData
};
})

在HTML js块中,我启动

var obj1 = myClass(config);
var obj2 = myClass(config);

globalObjList= [];
globalObjList.push({'id': 'obj1', 'obj': obj1});
globalObjList.push({'id': 'obj2', 'obj': obj2});
obj1.setData(data1);
obj2.setData(data2);

稍后,当用户执行某些操作时,我想根据用户的选择检索obj1或obj2,因此我可以使用与该对象关联的数据进行进一步的操作。

例如,通过单击button1来检索obj1。 我想要类似的东西

var obj = getInstanceById('btn1');
obj.getData(); //this should return me data1

我不确定getInstanceById函数如何工作。

getInstanceById = function(id){
    //match the id with the id in globalObjList array, and return the obj
}

但是,这样,当以这种方式获取obj并执行getData()时,它不是我想要的正确的obj。

除了将obj1和obj2声明为全局var之外,我该如何做?

您将需要在与new实例相同的闭包中设置事件处理程序。 这将允许您访问处理程序内部的变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM