私は現在、Douglas Crockford のCode Conventions for the JavaScript Programming Languageに基づいた JavaScript コーディング スタイルを使用しています。つまり、関数で使用されるすべての変数をその関数の先頭で宣言します。
function drawTiles(tiles) {
var x, y, tile;
for (x = 0; x < width; x++)
for (y = 0; y < weight; y++) {
tile = tiles[y][x];
if (tile)
drawTile(tile, x, y);
}
}
JavaScript の変数は関数の先頭に持ち上げられ、とにかく関数のスコープが設定されるため、これは理にかなっています。
ただし、次のように、最初に使用するときに宣言する方が一般的であるという印象を受けます。
function drawTiles(tiles) {
for (var x = 0; x < width; x++)
for (var y = 0; y < height; y++) {
var tile = tiles[y][x];
if (tile)
drawTile(tile, x, y);
}
}
これは、実際には IMO を使用する方が簡単です。新しい変数を宣言するたびに、現在の関数の先頭にジャンプする必要はありません。しかし、それは「正しい」とは感じません。
私の質問は次のとおりです: プロの (そして人気のある) JavaScript プログラマーの間でより人気のあるスタイルはどれですか? (私は通常、コミュニティで使用されている最も一般的なコード スタイルを選択しようとします)
私はいくつかのオープン ソース プロジェクト (Google のClosure、Facebook のPhabricator、Facebook JS SDKおよびjQuery ) を調べましたが、ほとんどの場合、最初に使用したときにすべて (jQuery を除く) が変数を宣言しているようです。jQuery はそれらを関数の先頭で宣言する傾向にありますが、決して一貫性がありません。