2012-08-16 40 views
1

我有這個JavaScript:JSHint錯誤「對象不支持此屬性或方法」的JavaScript關閉

(function ($) { 
    // a comment 
})(window.jQuery); 

我跑的JSHintwsh version這些選項:

命令:

%systemroot%\system32\cscript.exe 

參數:

//Nologo "%userprofile%\Documents\jshint\env\wsh.js" /forin:true,noarg:true,noempty:true,eqeqeq:true,bitwise:true,undef:true,unused:true,browser:true,jquery:true,indent:4,maxerr:500 $(ItemPath) 

(該$(ItemPath)由Visual Studio中的當前選擇的項目替換)......而且它給我這個輸出:

[%pathname%\js\JScript1.js] 
Line 3 character 18: Object doesn't support this property or method 

Implied globals: 
    window: 3 

我試着安排括號使用JSLint風格,但這給了我同樣的錯誤:

(function ($) { 
    // a comment 
}(window.jQuery)); 

我做錯了我的JavaScript或是這是一個JSHint錯誤?

更新:我傾向於JSHint錯誤,這個JavaScript:

(function ($) { 
    // a comment 
})(window.jQuery); 
// is this a bug? 
window.alert("maybe?"); 

給了我這個錯誤:

Line 5 character 23: Object doesn't support this property or method 

更新#2:我認爲這是正確的方式通過參數wsh.js

//U //Nologo "%userprofile%\Documents\jshint\env\wsh.js" /forin:true /noarg:true /noempty:true /eqeqeq:true /bitwise:true /undef:true /unused:true /browser:true /jquery:true /indent:4 /maxerr:500 $(ItemPath) 

然而,這段代碼:

(function (w, $) {})(window, jQuery); 

不過這個輸出:

[%pathname%\js\JScript1.js] 
Line 1 character 37: Object doesn't support this property or method 

更新#3:事實證明,我確實是一個白癡。

我試圖使用最新: https://nodeload.github.com/jshint/jshint/zipball/master

...當我應該使用R09了: https://nodeload.github.com/jshint/jshint/zipball/r09

+0

你確定錯誤是不是在wsh.js本身?在wsh.js的第3行char 18中是否有任何可疑內容? – 2012-08-16 16:28:54

+0

@Dan Davies Brackett它可能是,但#行和字符#總是更改爲我的源js中的最後一個字符。 – travis 2012-08-16 16:36:18

+1

JSHint維護者在這裏。 您可以創建一張票嗎?師父不應該這樣失敗。 謝謝! – 2012-08-16 18:03:21

回答

-1

你不想通過window.jQuery通過的參數自我實例化匿名函數,而是window, jQuery。對象window沒有方法jQuery,因此錯誤。

+1

我不確定是這種情況,我在調用wsh時傳入'browser:true,jquery:true'作爲參數。 JS。此外,這段代碼也有同樣的錯誤:'(function($){})(「hi」);'另外,當使用'window.jQuery'時,'.jQuery'只是'窗口'對象。 – travis 2012-08-16 16:32:40

+0

採取的一點(或者,相反,採取負面!)。 – 2012-08-16 17:57:32

相關問題