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