JSLint:「'HTMLElement'在它被定義之前就被使用了。」JSLint:「'HTMLElement'在它被定義之前就被使用了。」
if (element instanceof HTMLElement)
我該如何解決這個問題?
我一定要添加一個例外或者忽略它?
JSLint:「'HTMLElement'在它被定義之前就被使用了。」JSLint:「'HTMLElement'在它被定義之前就被使用了。」
if (element instanceof HTMLElement)
我該如何解決這個問題?
我一定要添加一個例外或者忽略它?
選中「允許錯誤定義」。
這個工作對我來說,如果我的整個腳本是:
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指令後仍然有意義。
看起來你必須爲它添加一個例外。我找不到任何刪除錯誤的複選框選項。
您還可以在JSLint的頁面的底部添加HTML元素預定義的文本框(如果您使用的是聯機驗證版本)。
因爲我假設你是在瀏覽器中,這應該是一個有效的排除。
變 「警報」,以 「window.alert」,並使用JSLint的指令/ * JSLint的瀏覽器:真正在頂部* /。
我檢查了除「安全子集」和「驗證ADsafe」之外的所有框。我仍然有錯誤。 – XP1
奇怪的...適合我。但是,我編輯了我的答案,以便我只檢查一個盒子,並使用四行腳本.... –
是的,我試過你的例子,沒有得到錯誤。當我用匿名函數包裝時,我得到了錯誤。你可以試試嗎? – XP1