Dynamic javascript function declaration
===

I'm working on a code where I must pass a different function to some objects.

In this case, I'm trying to pass a different function for the onchange event. So currently what I got is something like this this:

    var ArrayList; //Contains some data to use with ObjectArray format { n: data }
    var ObjectArray; //Contains several objects format Array[n] = Object;
    for(var key in ArrayList){
        var doFunction = function() {
            Object[key].doSomething(ArrayList[key]);
        }
        Object[key].onchange = doFunction;
    }

The problem here I believe is that I'm afraid it will execute the code as it is declared and not with the values of the actual variables.

Is there a way to pass the function with the values as it executes? or will the variables get parsed the way its written?