1

これは私の関数の簡易版です。問題は、アラートで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/

4

3 に答える 3