Arguments to JavaScript Anonymous Function
for (var i = 0; i < somearray.length; i++) { myclass.foo({'arg1':somearray[i][0]}, function() { console.log(somearray[i][0]); }); } How do I pass somearray or one of its indexes into the anonymous function ? somearray is already in the global scope, but I still get somearray[i] is undefined The i in the anonymous function captures the variable i , not its value . By the end of the loop, i is equal to somearray.length , so when you invoke the function it tries to access an non-existing element array. You can fix this by making a function-constructing function that captures the variable's value: