Jshint / PhpStorm:使用jquery .data()时的“未解析的变量”

Phpstorm一直告诉我,我有一个未定义的变量input.connectto

Html:

...

JS:

 $(document).on('click', '.b-showColorinList', function() { cm.showColorInList( $(this) ); }); 

和:

 /** * Uses ajax to get other color in list view * @param {object} inputObj */ cm.showColorInList = function(inputObj) { "use strict"; var input = inputObj.data(), parent = $("#"+input.connectto), othervalue = input.othervalue; 

我知道我可以忽略jshint中的一行,但有没有办法让它与jsdoc一致,例如将input定义为一个对象

因此,对于JSDoc文档 ,正确的方法应该使用@typedef来定义实际的对象结构(如果稍后将在其他地方重用,则特别有用)和@type来声明特定变量的类型:

 /** * @typedef {Object} MyInputData * @property {string} connectto * @property {string} othervalue */ /** @type {MyInputData} */ var input = inputObj.data(); 

这个(只有@typedef和变量名称作为类型名称)似乎也适用于PhpStorm:

 /** * @typedef {Object} input * @property {string} connectto * @property {string} othervalue */ var input = inputObj.data();