我在Sublime Text 2中安裝了JSLint Plugin。但是我不同意JSLint特別聲明的一些規則來聲明循環中的變量。在Sublime Text 2中禁用或覆蓋JSLint選項
Move 'var' declarations to the top of the function.
for (var i = 0; i < 100; i++) { // Line 12, Pos 10
我的問題是我如何可以覆蓋或崇高文本2
我在Sublime Text 2中安裝了JSLint Plugin。但是我不同意JSLint特別聲明的一些規則來聲明循環中的變量。在Sublime Text 2中禁用或覆蓋JSLint選項
Move 'var' declarations to the top of the function.
for (var i = 0; i < 100; i++) { // Line 12, Pos 10
我的問題是我如何可以覆蓋或崇高文本2
禁用的JSLint此規則如果您有Darren DeRidder's plugin(有兩個JSLint的插件崇高文本),你做this:
您可以設置任何的JSLint的選項下偏好 - >包 設置 - >的JSLint - >高級設置建。請參閱 http://www.jslint.com/lint.html#options以獲取 JSLint中的選項列表。
現在,您將很難禁用只是循環內的var聲明。您可以將vars
option設置爲true,但是然後JSLint將允許您在頁面上的任何位置擁有儘可能多的var聲明。這可能是一種誤導性的做法,因爲JavaScript有些人稱之爲Function Scope和"hoists" declarations to the top of their scope。
編輯:哎呀,我撒謊了。 vars
只允許多個var聲明語句,但它們仍然必須位於該函數的頂部。它不僅可以讓你做到這一點:
function fnTest() {
var i;
var j; // Oh boy! Two var statements at the TOP of the same function
for (i = 0; i < 100; i++) {
j++;
}
}
,而不是
function fnTest() {
var j;
for (var i = 0; i < 100; i++) { // still can't do this.
j++;
}
}
雖然我很驚訝克羅克福德不會讓你這樣做,我認爲你是out of luck,並且必須使用JSHint相反(似乎有一個崇高的插件for JSHint here,雖然我沒有用過它)。
使用JSHint +1,它是最乾淨的解決方案。 JSHint包含在SublimeLinter插件中。 – 2013-05-04 06:09:00
它不希望你在裏面聲明變量的原因是因爲Javascript'提升'函數。這不是你的期望,所以它試圖讓你保證你看到JS會做什麼。 – jQwierdy 2015-08-20 14:59:16
@chanHXC用var聲明警告跳過崇高-JSLint的新的默認選項。
一些插件允許您指定要忽略的代碼/模式。您最好的選擇是查看插件中的自述文件。如果它不會爲插件發出功能請求,或者找到一個允許您插入的功能請求。我做了一個快速搜索,似乎有兩個JSLint插件,所以確保你查找正確的回購。 – skuroda 2013-05-03 18:41:34