現在、Web アプリケーションで JavaScript に対して JSLint を実行していて、解決に支援が必要なエラーが発生しています。
を。私が得ている最初のエラーは次のとおりです: JS Lint: Unused Variable 'n'.
$.each(collection, function (n, item) {
var temp = item.Id;
// do further processing
});
b. 次のような自己実行関数で宣言されたすべてのJavaScriptがあります。
(function ($, undefined) {
// further javascript code
}
(jQuery));
上記のパターンは、$ が他の JavaScript ライブラリと競合するのを防ぎ、undefined が再定義されるのを防ぎます。ただし、次のエラーが表示されます。
JS Lint: 識別子が必要でしたが、代わりに「未定義」(予約語) が表示されました。JS Lint: 未使用の変数「未定義」。
c. JS Lint: エスケープされていない「-」。
if (value.match(/^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$/i)) {
return true;
}
d. JS Lint: タイプの混乱: 'printer-': 文字列と '(': number.
var frameName = "printer-" + new Date().getTime();
数値、整数、およびその他のデータ型で、タイプの混乱のエラーが多数発生します。これらの取得を防ぐ方法について何か考えはありますか?
e. JS Lint: 安全でない '^'。
var value = value.replace(/[^\d\.,\-]/gi, '');
f. JS Lint: ループ内で関数を作成しないでください。
for (i = 0, l = txts.length; i < l; i += 1) {
if (/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) {
var func = function () {
//do some processing
};
}
}