これは私の関数の簡易版です。問題は、アラートで2回両方取得することです。これは可変スコープの問題だと思いますが、理解できないようです。
var someObj = {"a" : 1, "b" : 2};
function getData(obj){
var bunchOfFunctions = {};
for(var key in obj){
value = obj[key];
bunchOfFunctions[key] = function(){
alert(value);
}
}
return bunchOfFunctions;
}
var functs = getData(someObj);
for(var key in functs){
functs[key]();
}
ここにjsfiddleがあります http://jsfiddle.net/earlonrails/q4d66/