JSLint:“'HTMLElement'在定义之前就被使用了。”

时间:2011-08-20 13:44:41

标签: javascript jslint

JSLint:“'HTMLElement'在定义之前就被使用了。”

if (element instanceof HTMLElement)

我该如何解决这个问题?

我是否必须添加例外或忽略它?

4 个答案:

答案 0 :(得分:6)

选中“容忍错误的定义”。

如果我的整个脚本是:

,这对我有用
var e;
if (e instanceof HTMLElement) {
    alert("");
}

only 复选框是“容忍错误的定义”。

我得到的回应是:

Global HTMLElement, alert, e

此复选框似乎仅适用于全局范围中使用的标识符。如果在函数体内尝试此操作,JSLint将会抱怨alert,除非您选中“假设控制台,警报”复选框。但是,以下技巧 满足JSLint:

var HTMLElement = HTMLElement;
(function () {
    var e;
    if (e instanceof HTMLElement) {
        alert("");
    }
}());

通过复选框“Assume console,alert”,“Tolerate misordered definitions”和“Tolerate missing use strict”。我得到了答复:

Global HTMLElement  
3 'anonymous'()
    Variable e
    Global HTMLElement
    Complexity 2

绝对是黑客; /*global HTMLElement */是最好的。但是,在阅读JSLint指令后,这是有道理的。

答案 1 :(得分:1)

看起来你必须为它添加一个例外。我找不到任何删除错误的复选框选项。

答案 2 :(得分:1)

您还可以将HTMLElement添加到JSLint页面底部的预定义文本框中(如果您使用的是在线验证版本)。

由于我假设你在浏览器中,这应该是一个有效的排除。

答案 3 :(得分:0)

将“alert”更改为“window.alert”,并使用jslint指令/ * jslint浏览器:true * /位于顶部。