4

私は現在、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 のPhabricatorFacebook JS SDKおよびjQuery ) を調べましたが、ほとんどの場合、最初に使用したときにすべて (jQuery を除く) が変数を宣言しているようです。jQuery はそれらを関数の先頭で宣言する傾向にありますが、決して一貫性がありません。

4

1 に答える 1

1

2 番目のスタイルが一般的だと思います。これは、他のほとんどの言語で行う方法、つまり変数を使用する場所で宣言する方法だからです。

ECMAScript の将来のバージョンでは、letキーワードによるブロック スコープが導入される予定です。これにより、JS の記述方法が変わる可能性があります (2 番目のスタイルに向かう傾向があります)。

しかしそれ以外では、関数を小さくしておくと、それは本当に好みの問題になります。

于 2012-06-20T12:53:39.133 に答える