私はCとJavaに慣れているので、Javascriptのブロックスコープの欠如は少し厄介だと感じました。この問題を解決するために、宣言してすぐにインライン関数を実行したいと思うことがあります。例えば:
...
if (x == 0) {
(function () {
var i;
for (i = 0; i < 10; i++) {
...
}
})();
}
...
そうでなければ、ブロックスコープの欠如を忘れないようにするために、スコープの上部にある関数のすべての変数を宣言する必要があると感じます。しかし、関数の先頭に巨大なvarステートメントがあると、私には不器用に見えます。
上に示した方法は無駄に感じますが、そもそもインライン関数を宣言するのに何がかかるのかわかりません。このようにするのは悪い考えですか?Javascriptのスコープで私の問題を解決するためのより良い方法はありますか?