「many var statements per function」は、関数内に複数のvar文を使用することを許可するかどうかのオプションです。デフォルト(false)では、var文は関数につき1つまで許可され、2つ以上のvar文を用いると「Combine this with the previous ‘var’ statement.」という警告が表示されます。
例えば、次のコード例は2つの変数をそれぞれvar文で宣言(と初期化)し、これらの和を返す単純な関数です。
この関数にはどこにもエラーはなく、当然ながら予想された結果である「3」を返します。
しかしこのオプションがデフォルト(false)の場合、JSLintでは警告が表示されます。
//アンチパターン function test() { "use strict"; var a = 1; var b = 2; //警告:Combine this with the previous 'var' statement. return a + b; }
JSLintのチェックを通すためには、上記の関数は次の様に書かなくてはなりません。
function test() { "use strict"; var a = 1, b = 2; return a + b; }
後者のコードでは、変数を宣言する度にvar文を使うのではなく、複数の宣言をカンマで区切って全ての変数宣言をvarの1文で済ませています。JavaScriptではこのような書き方もできるんです。
また、この書き方はJavaScriptのコーディングにおける作法(パターン)の一つとして「単独varパターン」と呼ばれたりもします。
つまり、JSLintのデフォルト設定では、この「単独varパターン」を用いることが強制されるということになりますね。
強制するからには、それなりの理由があります。これについては、別エントリで詳細をまとめていますので、そちらを参考にしてみてください。
■「単独varパターン」のススメ
https://analogic.jp/single-var-pattern/
上記のエントリでも触れていますが、基本的に単独varパターンを使用することによるデメリットはありません(メリットはあります)。また、「変数の巻き上げ」のような予期せぬトラブルを未然に防ぐことにも役立ちます。
従って、単独varパターンでのコーディングを強制させるためにも、このオプションはデフォルト(false)のままにしておいた方が良いでしょう。