Я вижу предупреждение в файле JavaScript в PhpStorm в моем проекте, о котором я хотел бы что-то сделать. У меня есть следующий код:Предупреждение PhpStorm: тип аргумента не присваивается типу параметра
function someFunction() {
...
var myArray = [1, 2, 3, ...];
$.each(myArray, function() { someOtherFunction(this); }); //warning on this line
....
}
/**
* @param {Number} value
*/
function someOtherFunction(value) {
...
}
На линии, указанной в коде, PHP дает мне это предупреждение:
Аргумент типа SomeFunction не может быть назначен для параметра Тип Количество
Я понимаю, что это значит и почему это предупреждение дается: PhpStorm не знает, что jQuery переопределяет this
контекст в обратном вызове цикла .each
. Мой вопрос в том, что я могу сделать, чтобы намекнуть, что такое переопределение происходит и что в действительности есть this
?
_jQuery всегда обертывает его как object_ - true, но мой код работает так, как ожидалось. –
@AleksG О, я уверен, что это так, но проблема в том, что PHPStorm ожидает примитивное число (или, возможно, Number ofject), а не объект с номером. Хм, попробуй это. Это общая догадка, но что происходит, если вы делаете someOtherFunction (+ this) ;? – aaronofleonard