2012-11-07 60 views
1

有誰知道爲什麼這段代碼不會在JSHint中產生錯誤?JSHint和「Tolerate Variable Shadowing」

我認爲它應該給我一個可變的陰影警告,但我沒有得到一個。

我有「容忍可變陰影」爲假使用Visual Studio插件。

RES.test = function() { 
    var test, f; 

    f = function() { 
     var test; 

     window.alert(test); 
    }; 
}; 

謝謝。

回答

1

我也偶然發現了這一點。顯然,JSHint開發者對「陰影」的定義並不是你所期望的。對他們來說,隱藏來自閉包的變量名稱並不是陰影。是的,我覺得很奇怪太:-)

如果你看看他們的測試套件,他們的意思是這樣「重新定義」,在那裏你在他們的測試情況做

var a = 1; 
... 
var a = 2; 

看:https://github.com/jshint/jshint/blob/master/tests/stable/unit/fixtures/redef.js

+0

好點,我沒有注意到這一點。奇怪的是,jshint/lint是如此挑剔一些非常平凡的事物(例如++),但並未鎖定這一點。 – cedd

相關問題