Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保存和检索多个js实例_Javascript - Fatal编程技术网

Javascript 保存和检索多个js实例

Javascript 保存和检索多个js实例,javascript,Javascript,我有一个叫做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

我有一个叫做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,以便使用与对象关联的数据执行进一步的操作

例如,单击按钮1,检索对象J1。我想要一个

var obj = getInstanceById('btn1');
obj.getData(); //this should return me data1
getInstanceById = function(id){
    //match the id with the id in globalObjList array, and return the obj
}
我不确定getInstanceById函数将如何工作

var obj = getInstanceById('btn1');
obj.getData(); //this should return me data1
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}@axrwkr
getInstanceById
是我需要提出的一些函数,该函数的主要目的是通过某种id查找obj。假设我有3个div,每个div都包含从myClass启动的实例。我希望在div id中输入pass,然后获取关联的实例obj。