2011-08-20 85 views

回答

6

選中「允許錯誤定義」。

這個工作對我來說,如果我的整個腳本是:

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指令後仍然有意義。

+0

我檢查了除「安全子集」和「驗證ADsafe」之外的所有框。我仍然有錯誤。 – XP1

+0

奇怪的...適合我。但是,我編輯了我的答案,以便我只檢查一個盒子,並使用四行腳本.... –

+0

是的,我試過你的例子,沒有得到錯誤。當我用匿名函數包裝時,我得到了錯誤。你可以試試嗎? – XP1

1

看起來你必須爲它添加一個例外。我找不到任何刪除錯誤的複選框選項。

1

您還可以在JSLint的頁面的底部添加HTML元素預定義的文本框(如果您使用的是聯機驗證版本)。

因爲我假設你是在瀏覽器中,這應該是一個有效的排除。

0

變 「警報」,以 「window.alert」,並使用JSLint的指令/ * JSLint的瀏覽器:真正在頂部* /。

相關問題