Imagine you want (with javascript of course) giving an argument to a timeout method(it is the same for event connector)
ie
function aFunction(aVariable){
  window.setTimeout(myFunction(){alert(aVariable)}, 500);
}


This will not work because the function executed on timeOut can not have access to aVariable. So there are to way to deal with that
first : You can use an eval BUT this will throw some exception in our dear IE :
function aFunction(aVariable){
   window.setTimeout(eval("myFunction(){alert('" + aVariable + "')}", 500);
}
Second, the better You can use a function returning a function :
function aFunction(aVariable){
   window.setTimeout(getOnTimeOut(aVariable), 500);
}
 
function getOnTimeOut(aVariable){
   return function(){   // no  params
      alert(aVariable);
   }
}