javascript - JSLint: "' HTMLElement' 在定义之前被使用。”

标签 javascript jslint

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/

相关文章:

javascript - 如何转义此正则表达式中的字符?

plugins - 带有 JSLint 和 Violations 插件的 Jenkins

jquery - JSLint 显示了很多错误,但我的程序运行良好

javascript - 在全局代码中使用带标签的语句有什么问题?

javascript - 选择正确的变量 php/javascript

javascript - Firebase 代码 400 "message": "CONFIGURATION_NOT_FOUND"

javascript - 在内部链接上,例如#id 是否有一个事件被触发,我可以附加一个处理程序?

javascript - 如何动态打印 iFrame

javascript - Facebook 应用程序未请求管理页面的权限

ide - Atom - JSBeautify 和 JSLint 不同意三元换行