JSLint:“'HTMLElement' 在定义之前被使用。”
if (element instanceof HTMLElement)
我该如何解决这个问题?
我必须添加异常(exception)还是忽略它?
最佳答案
勾选“容忍乱序定义”。
如果我的整个脚本是这样的,这对我有用:
var e;
if (e instanceof HTMLElement) {
alert("");
}
并且唯一复选框是“容忍乱序定义”。
我得到的响应是:
Global HTMLElement, alert, e
此复选框似乎只适用于全局范围内使用的标识符。如果这是在函数体内尝试的,JSLint 将提示 alert
除非您选中“假设控制台,警报”框。然而,以下技巧确实满足了 JSLint 的要求:
var HTMLElement = HTMLElement;
(function () {
var e;
if (e instanceof HTMLElement) {
alert("");
}
}());
这通过了复选框“假定控制台,警报”、“容忍错误定义”和“容忍缺失使用严格”。我得到回复:
Global HTMLElement
3 'anonymous'()
Variable e
Global HTMLElement
Complexity 2
绝对是黑客; /*global HTMLElement */
最好。不过,在阅读 JSLint 说明后,这是有道理的。
关于javascript - JSLint: "' HTMLElement' 在定义之前被使用。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7132134/