我目前正在针对我的 Web 应用程序中的 javascript 运行 JSLint,并遇到一些需要帮助解决的错误。
一种。我得到的第一个错误是:JS Lint:未使用的变量'n'。
$.each(collection, function (n, item) {
var temp = item.Id;
// do further processing
});
湾。我在一个自我执行的函数中声明了我所有的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-':字符串和'(':数字。
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
};
}
}