JSLint:“'HTMLElement'在定义之前就被使用了。”
if (element instanceof HTMLElement)
我该如何解决这个问题?
我是否必须添加例外或忽略它?
答案 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 * /位于顶部。