Ошибка JSHint "Объект не поддерживает это свойство или метод" для замыканий JavaScript

У меня есть этот JavaScript:

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

Я использую wsh-версию JSHint со следующими параметрами:

Команда:

%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)

(The $(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

2 ответа

Решение

Так что это была ошибка в последнем мастере, и она была исправлена ​​в выпуске r10: http://www.jshint.com/changelog/

Вы не хотите проходить window.jQuery в качестве параметра через самоинициализирующуюся анонимную функцию, а скорее window, jQuery, Предмет window не имеет метода jQueryотсюда и ошибка.

Другие вопросы по тегам