プログラム書いてるとチェック処理メソッドなどでNGが判明したら
即座にfalseをreturnしてメソッド終わらせるなんてことはよくやると思いますが
なんかJQueryで書いてるとreturnで抜けないことがある
function(resultList){ $.each(resultList, function(obj){ if(obj == false){ return false; // ここで抜けたいけど何故か抜けない } }); return true; }
なんでだろうと思ってたんですが、原因はeachの所為でした。
JQueryのeachの中ではreturnは特別な意味を持つようです。
each内で書くreturnは
return true : continue
return false: break
の意味になるそうです。
つまり、上記のソースだとbreakしてるだけになるので
eachを抜けて最終行のreturn trueが実行されます。
これ知らないとハマるわ。