1
我有一个“类”叫MyClass的保留和检索多个JS实例
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全局变量?
@axrwkr出于测试的目的,它可以被硬编码,当点击btn1时,发送数据'obj1'来检索obj obj1。可能会有某种类型的映射关联到id和obj,如图所示 {'id':'obj1','obj':obj1} – snailclimbingtree
@axrwkr'getInstanceById'是我需要的一些功能,这个函数的主要目的是通过某种id来查找obj。假设我有3个div,并且每个div都包含从myClass启动的实例。我想要在div id中传递,然后获取关联的实例obj。 – snailclimbingtree