変数の宣言は、冒頭ですべき。だというのはなぜ?

まだまだ勉強中なので、独り言として書く。
OKWaveの質問に答える形でサンプルを書いてみたりしているが、
目で追えないほど(画面に収まりきれないほど)の長いプログラムを書いたことがない。
ブロックごとに切り分ける。もしくは、機能ごとに関数にしてわけると、流れがつかみやすい。
だから、長くなってしまうと、自分的最適化処理で、ほぼ最初から書き直している。
(つまりいっこうにプログラムが完成しないことが多い^^;)
オブジェクト指向的にプログラムを書くと、確かに部品を組み合わせるだけで、
コードが書けるときがある。
やっぱりその部品は、画面に収まりきれないことは無い。
だから変数は、冒頭で宣言したほうが、自分は好きだ。
でも自分で困るのは、
this.text = "〜〜〜〜";
var counter = 0;
みたいなとき、どっちを優先したほうが、よいのか迷っている。
今のレベルは、その程度なのだ。だから冒頭で十分。

でも、俺の師匠たちよ!
道筋をしめしておくれ!
信者は不安になるよ!