Darren DeRidder のプラグイン(Sublime Text 用に 2 つの JSLint プラグインがあります) がある場合は、次のようにします。
プリファレンス -> パッケージ設定 -> jslint -> 高度なビルド設定で、任意の jslint のオプションを設定できます。JSLint のオプションのリストについては、http: //www.jslint.com/lint.html#optionsを参照
してください。
これで、ループ内の var 宣言だけを無効にするのに苦労することになります。このvars
オプションを true にすることもできますが、JSLint を使用すると、ページのどこにでも好きなだけ var 宣言を含めることができます。JavaScript にはFunction Scopeと呼ばれるものがあり、そのスコープの先頭に宣言を「ホイスト」するため、これは誤解を招く可能性があります。
編集:うわ、私はうそをつきました。 vars
複数の var 宣言ステートメントのみが許可されますが、それらは関数の先頭にある必要があります。これを行うことのみが許可されます:
function fnTest() {
var i;
var j; // Oh boy! Two var statements at the TOP of the same function
for (i = 0; i < 100; i++) {
j++;
}
}
そしてそうではない
function fnTest() {
var j;
for (var i = 0; i < 100; i++) { // still can't do this.
j++;
}
}
Crockford がこれを許可していないことに驚いていますが、あなたは運が悪く、代わりにJSHintを使用する必要があると思います (私は使用していませんが、JSHint 用の Sublime プラグインがここにあるようです)。