マジレスすると、クロージャーよりも
関数内関数の方がいい。

クロージャーは変数スコープが不必要に広い。

多くの場合、クロージャーの外は見える必要がない。
逆に見えてしまうと不用意に変数を書き換えてしまう。

関数内関数がない言語が多いから
仕方なくクロージャーを使うしかないが、
Java8のラムダの方がまだ安全なコードを書くことが出来る。
(ラムダも外のスコープが参照できる場合があるので完璧ではない)

つまり俺がいいたいのは、クロージャーを使うと苦労するのジャー。