參考:Tutorials:How jQuery Works
Callback Function
callback function 當作參數傳給 parent function 時,像這樣:
Callback function 用到上層迴圈變數時
當需要寫到這種類型的 code 時:
方法一:把 onclick 指向一個立刻執行的無名 function 回傳回來的 function。
方法二:用 recursive 的方式取代原本的 for loop。
Callback Function
callback function 當作參數傳給 parent function 時,像這樣:
$.get('myhtmlpage.html', myCallBack);
$.get('myhtmlpage.html', myCallBack(param1, param2));  // wrong!!
$.get('myhtmlpage.html', function(){
  myCallBack(param1, param2);
});
Callback function 用到上層迴圈變數時
當需要寫到這種類型的 code 時:
for(var i=0; i<imgs.length; ++i){
   $(imgs[i]).click = function(){
                           imgs[i].src = xxxx;
                        }
}
方法一:把 onclick 指向一個立刻執行的無名 function 回傳回來的 function。
$(imgs[i]).click = (function(i){
                         return function(){  imgs[i].src = xxx;   }
                      })(i);
方法二:用 recursive 的方式取代原本的 for loop。
function loop(i){
   $(imgs[i]).click = function(){
                           imgs[i].src = xxx;
                        }
   if (i<imgs.length)
       loop(i+1);
}
loop(0);
